f-algebra-gen: Generate a special f-algebra combinator from any data type.
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
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
.
[Skip to Readme]
Properties
Versions | 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.2 |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.12 && <4.13), template-haskell (>=2.5.0.0 && <2.16) [details] |
License | MIT |
Author | Armando Santos |
Maintainer | armandoifsantos@gmail.com |
Category | Data |
Home page | https://github.com/bolt12/f-algebra-gen |
Uploaded | by bolt12 at 2019-07-19T15:14:25Z |
Modules
[Index] [Quick Jump]
- Data
- Combinators
Downloads
- f-algebra-gen-0.1.0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees