Awesome
Parametric Compositional Data Types
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
.