cabal-version: >=1.10 -- Initial package description 'data-combinator-gen.cabal' generated by -- 'cabal init'. For further documentation, see -- http://haskell.org/cabal/users-guide/ -- The name of the package. name: f-algebra-gen -- The package version. See the Haskell package versioning policy (PVP) -- for standards guiding when and how versions should be incremented. -- https://pvp.haskell.org -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 0.1.0.0 -- A short (one-line) description of the package. synopsis: Generate a special f-algebra combinator from any data type. -- A longer description of the package. description: 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`. -- URL for the project homepage or repository. homepage: https://github.com/bolt12/f-algebra-gen -- A URL where users can report bugs. -- bug-reports: -- The license under which the package is released. license: MIT -- The file containing the license text. license-file: LICENSE -- The package author(s). author: Armando Santos -- An email address to which users can send suggestions, bug reports, and -- patches. maintainer: armandoifsantos@gmail.com -- A copyright notice. -- copyright: category: Data build-type: Simple -- Extra files to be distributed with the package, such as examples or a -- README. extra-source-files: CHANGELOG.md, README.md, examples/Cp.hs, examples/Main.hs library -- Modules exported by the library. exposed-modules: Data.Combinators.TH -- Modules included in this library but not exported. -- other-modules: -- LANGUAGE extensions used by modules in this package. -- other-extensions: -- Other library packages from which modules are imported. build-depends: base >=4.12 && <4.13, template-haskell >= 2.5.0.0 && < 2.16 -- Directories containing source files. hs-source-dirs: src -- Base language which the package is written in. default-language: Haskell2010