| Safe Haskell | None |
|---|
Test.Feat.Enumerate
Description
Basic combinators fo building enumerations most users will want to use the type class based combinators in Test.Feat.Class instead.
- type Part = Int
- type Index = Integer
- data Enumerate a = Enumerate {}
- module Control.Applicative
- module Data.Monoid
- pay :: Enumerate a -> Enumerate a
- mem :: Enumerate a -> Enumerate a
- mempay :: Enumerate a -> Enumerate a
- module Data.Typeable
- data Tag = Source String String Int Int
- tag :: Q Exp
- tagShare :: Typeable a => Tag -> Enumerate a -> Enumerate a
- optimise :: Enumerate a -> Enumerate a
Documentation
A functional enumeration of type t is a partition of t into finite numbered sets called Parts. The number that identifies each part is called the cost of the values in that part.
Constructors
| Enumerate | |
Combinators for building enumerations
module Control.Applicative
module Data.Monoid
Memoisation
mempay :: Enumerate a -> Enumerate aSource
A conventient combination of memoisation and guarded recursion.
Polymorphic memoisation
module Data.Typeable