f-algebra-gen

Generate a special f-algebra combinator from any data type.

https://github.com/bolt12/f-algebra-gen

Latest on Hackage:0.1.0.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 stackage.org to host generated Haddocks.

MIT licensed by Armando Santos
Maintained by [email protected]

This library provides a function to generate a special f-algebra combinator from any data type (GADTs are not currently supported). This was inspired by the recursion-schemes library where they have a function to automagically generate a base functor. Although, this new base functor data type has custom constructors and to define the *-morphism algebras turns into boring pattern matching. So, this library provides a function called makeCombinator that produces a nice combinator to deal with data types as they were defined in terms of Pairs ( (,) ) and Sums (Either). With this nice combinator we are able to view a data type as its equivalent categorical isomorphism and manipulate it with an interface similar as the either function provided from base.