Mega-repo for my public Haskell projects.
-
q4c12-compose-key is a nifty little isomorphism,
Iso' (Map a (NonEmptyMap b c)) (Map (a, b) c)
. -
q4c12-foldable-utils are some utility functions I can't live without.
-
q4c12-hlist has heterogeneous lists and sums.
-
q4c12-position is a type to represent points or contiguous ranges in text.
-
q4c12-twofinger is an efficient alternating sequence type.
-
q4c12-aeson-cabal is my locally canonical place for orphan instances of classes from
aeson
for types fromCabal
. -
q4c12-defrost is like Stack's
pvp-bounds
feature, except it works on Cabal's freeze files instead. If you test your code against a set of freeze files,defrost
can add the PVP bounds to your.cabal
file corresponding to the dependency versions in those freeze files. -
q4c12-freeze-plan takes a
plan.json
and turns it into a freeze file. Maybe someday I'll polish it up and get it into upstreamcabal-install
as a better version ofv2-freeze
that produces tight constraints. -
q4c12-project-file is a horribly incomplete parser and renderer for Cabal's
.project
configuration files.
-
q4c12-xhtml2html converts from the XML syntax to the HTML syntax.
-
q4c12-xml-core is an opinionated XML parser/renderer that tries to stick to the spec where it's sensible and to drop things that aren't sensible.
-
q4c12-xml-desc uses q4c12-xml-core to build a RELAX NG schema generator. Write a parser, and get a renderer and schema for no extra effort!
-
q4c12-dhondt is a simulation of a d'Hondt proportional representation election.
-
q4c12-meta is local housekeeping. It generates the
.travis.yml
script for CI and the various GHC-version-specific.project
files undercabal/
, as well as tending to the freeze files. It's working well for me so far, so maybe I should try to turn it into a generally useful thing. -
q4c12-prelude is that hippest thing, an alternative
Prelude
. Its module is actually calledPrelude
; use it withbase-noprelude
, or withmixins: base hiding (Prelude)
alongsidebuild-depends: base
.It's not very comprehensive: I'm adding things as I find I need them.
-
q4c12-romnum is a Roman numeral generator.
The contents of this repository are dual-licensed under either the Apache license, version 2.0, or the GNU Lesser General Public License, version 2.1 or later, at the recepient's choice.