Safe Haskell | None |
---|
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.
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