packages feed

data-combinator-gen-0.1.0.1: data-combinator-gen.cabal

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