Skip to content

quasicomputational/mega

Repository files navigation

Mega-repo for my public Haskell projects.

Data structures & related utilities

Cabal stuff

  • q4c12-aeson-cabal is my locally canonical place for orphan instances of classes from aeson for types from Cabal.

  • 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 upstream cabal-install as a better version of v2-freeze that produces tight constraints.

  • q4c12-project-file is a horribly incomplete parser and renderer for Cabal's .project configuration files.

XML

  • 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!

Miscellanea

  • 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 under cabal/, 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 called Prelude; use it with base-noprelude, or with mixins: base hiding (Prelude) alongside build-depends: base.

    It's not very comprehensive: I'm adding things as I find I need them.

  • q4c12-romnum is a Roman numeral generator.

License

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published