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: data-combinator-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.1
-- A short (one-line) description of the package.
synopsis: Generate a special combinator from any data type.
-- A longer description of the package.
description:
This library provides a function to generate a special 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/data-combinator-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