Parametric Compositional Data Types

Latest on Hackage:0.9.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD-3-Clause licensed by Patrick Bahr, Tom Hvitved
Maintained by

Based on Wouter Swierstra's Functional Pearl Data types a la carte (Journal of Functional Programming, 18(4):423-436, 2008,, this package provides a framework for defining recursive data types in a compositional manner with support for binders.

This package implemements parametric compositional data types (Workshop on Mathematically Structured Functional Programming, 3-24, 2012,, generalising compositional data types (as implemented in the compdata package) with support for parametric higher-order abstract syntax (PHOAS).

Examples of using parametric compositional data types are bundled with the package in the folder examples.