packages feed

enumerate-0.2.2: enumerate.cabal

-- Initial enumerate.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                enumerate
version:             0.2.2
synopsis:            enumerate all the values in a finite type (automatically)
description:
  provides
  .
    * (1) a typeclass for enumerating all values in a finite type,
    * (2) a generic instance for automatic deriving, and
    * (3) helpers that reify functions (partial or total, monadic or pure)
    into a Map.
  .
  see the "Enumerable" module for extensive documentation.

homepage:            https://github.com/sboosali/enumerate
license:             MIT
license-file:        LICENSE
author:              Sam Boosalis
maintainer:          samboosalis@gmail.com
-- copyright:
category:            Data
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

source-repository head
  type:     git
  location: https://github.com/sboosali/enumerate

flag dump-core
  description: Dump HTML for the core generated by GHC during compilation
  default:     False


library
 hs-source-dirs:      sources

 exposed-modules:
  Enumerate
  Enumerate.Types
  Enumerate.Enum
  Enumerate.Cardinality
  Enumerate.Orphans.Large
  Enumerate.Orphans.GHC

  Enumerate.Example
  Enumerate.Test
  Enumerate.Extra

  -- Enumerate.Domain
  -- Data.CoRec
  -- Data.CoRec.MemoTrie
  -- Data.TEnumerate

 build-depends:
               base >= 4.7 && < 5
             , spiros

             , ghc-prim >=0.3
             , array >=0.5
             , template-haskell  >=2.9
             , containers >=0.5

   -- , modular-arithmetic==1.2.*
             , vinyl >=0.5
             , deepseq >= 1.3

 default-language:    Haskell2010
 default-extensions: AutoDeriveTypeable DeriveDataTypeable
                     DeriveGeneric DeriveFunctor DeriveFoldable DeriveTraversable
                     NoImplicitPrelude
 ghc-options:
             -Wall
              -fno-warn-unticked-promoted-constructors

 -- stack build --flag enumerate:dump-core 
 if flag(dump-core)
  build-depends: dump-core
  ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core

-- $ stack build && stack exec example-enumerate
executable example-enumerate

 main-is:             Main.hs
 hs-source-dirs:      .

 default-language:    Haskell2010

 build-depends:
     base
   , enumerate


-- -- $ stack test doctest
-- test-suite doctest
--  hs-source-dirs:      tests
--  main-is:             DocTest.hs
--  type:                exitcode-stdio-1.0

--  default-language:    Haskell2010
--  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N

--  build-depends:
--     base
--   , enumerate
--   , doctest
--   --, cabal-info

-- -- -- $ stack test unittest
-- -- test-suite unittest
-- --  hs-source-dirs:      tests
-- --  main-is:             UnitTest.hs
-- --  type:                exitcode-stdio-1.0
-- --
-- --  default-language:    Haskell2010
-- --  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
-- --
-- --  other-modules:
-- --   Enumerate.Test
-- --
-- --  build-depends:
-- --     base
-- --   , enumerate
-- --   , hspec ==2.2.*
-- --   , QuickCheck ==2.8.*
-- --   , smallcheck ==1.1.*
-- --   -- , tasty
-- --   -- , tasty-quickcheck
-- --   -- , tasty-hunit