data-memocombinators-0.5.1: Combinators for building memo tables.

Safe HaskellSafe
LanguageHaskell98

Data.MemoCombinators.Class

Synopsis

Documentation

class MemoTable a where Source

The class of types which have complete memo tables.

Methods

table :: Memo a Source

Instances

MemoTable Bool Source 
MemoTable Char Source 
MemoTable Int Source 
MemoTable Int8 Source 
MemoTable Int16 Source 
MemoTable Int32 Source 
MemoTable Int64 Source 
MemoTable Integer Source 
MemoTable Ordering Source 
MemoTable Word Source 
MemoTable Word8 Source 
MemoTable Word16 Source 
MemoTable Word32 Source 
MemoTable Word64 Source 
MemoTable () Source 
MemoTable a => MemoTable [a] Source 
(Integral a, MemoTable a) => MemoTable (Ratio a) Source 
MemoTable a => MemoTable (Maybe a) Source 
(MemoTable a, MemoTable b) => MemoTable (Either a b) Source 
(MemoTable a, MemoTable b) => MemoTable (a, b) Source 
(MemoTable a, MemoTable b, MemoTable c) => MemoTable (a, b, c) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d) => MemoTable (a, b, c, d) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e) => MemoTable (a, b, c, d, e) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f) => MemoTable (a, b, c, d, e, f) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g) => MemoTable (a, b, c, d, e, f, g) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h) => MemoTable (a, b, c, d, e, f, g, h) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h, MemoTable i) => MemoTable (a, b, c, d, e, f, g, h, i) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h, MemoTable i, MemoTable j) => MemoTable (a, b, c, d, e, f, g, h, i, j) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h, MemoTable i, MemoTable j, MemoTable k) => MemoTable (a, b, c, d, e, f, g, h, i, j, k) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h, MemoTable i, MemoTable j, MemoTable k, MemoTable l) => MemoTable (a, b, c, d, e, f, g, h, i, j, k, l) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h, MemoTable i, MemoTable j, MemoTable k, MemoTable l, MemoTable m) => MemoTable (a, b, c, d, e, f, g, h, i, j, k, l, m) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h, MemoTable i, MemoTable j, MemoTable k, MemoTable l, MemoTable m, MemoTable n) => MemoTable (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source 
(MemoTable a, MemoTable b, MemoTable c, MemoTable d, MemoTable e, MemoTable f, MemoTable g, MemoTable h, MemoTable i, MemoTable j, MemoTable k, MemoTable l, MemoTable m, MemoTable n, MemoTable o) => MemoTable (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source 

class Memoizable a where Source

The class of functions which can be completely memoized.

Methods

memoize :: a -> a Source

Instances

MemoTable a => Memoizable (a -> b) Source