# 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.1, 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-18T21:27:30Z |

## Modules

[Index] [Quick Jump]

*Data**Combinators*

## Downloads

- f-algebra-gen-0.1.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)

#### Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees