The enumerate package

[Tags:library, mit, program, test]

provides

see the Enumerable module for extensive documentation.


[Skip to Readme]

Properties

Versions 0.0.0, 0.1.0, 0.1.1, 0.2.1
Dependencies array (==0.5.*), base (>=4.7 && <5), containers (==0.5.*), deepseq (>=1.3), enumerate, ghc-prim (>=0.3 && <0.5), template-haskell (>=2.9), vinyl (==0.5.*) [details]
License MIT
Author Sam Boosalis
Maintainer samboosalis@gmail.com
Stability Unknown
Category Data
Home page https://github.com/sboosali/enumerate
Source repository head: git clone https://github.com/sboosali/enumerate
Uploaded Tue May 17 20:14:10 UTC 2016 by sboo
Distributions NixOS:0.2.1
Downloads 164 total (8 in the last 30 days)
Votes
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-11-25 [all 3 reports]

Modules

  • Enumerate
    • Enumerate.Cardinality
    • Enumerate.Enum
    • Enumerate.Example
    • Enumerate.Extra
    • Enumerate.Main
    • Orphans
      • Enumerate.Orphans.Large
    • Enumerate.Types

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for enumerate

Readme for enumerate-0.2.1

enumerate

Hackage Build Status enumerate all the values in a finite type (automatically) 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.

example

    {-# LANGUAGE DeriveGeneric, DeriveAnyClass #-}
    import Data.Enumerate (Enumerable(..))
    import Data.Generics (Generics)

    data CrudOp = Add | Edit | Delete | View
     deriving (Eq,Ord,Enum,Bounded,Generic,Enumerable)
    data Route = Home | Person CrudOp | House CrudOp
     deriving (Eq,Ord,Generic,Enumerable)

    >>> enumerated :: [Route]
    [Home, Person Add, Person Edit, Person Delete, Person View, House Add, House Edit, House Delete, House View]

(extensive) documentation:

https://hackage.haskell.org/package/enumerate