|
Data.MemoTrie | Stability | experimental | Maintainer | conal@conal.net |
|
|
|
Description |
Trie-based memoizer
Adapted from sjanssen's paste: "a lazy trie" http://hpaste.org/3839.
|
|
Synopsis |
|
class HasTrie a where | | | domain :: HasTrie a => [a] | | idTrie :: HasTrie a => a :->: a | | (@.@) :: (HasTrie a, HasTrie b) => (b :->: c) -> (a :->: b) -> a :->: c | | memo :: HasTrie t => (t -> a) -> t -> a | | memo2 :: (HasTrie s, HasTrie t) => (s -> t -> a) -> s -> t -> a | | memo3 :: (HasTrie r, HasTrie s, HasTrie t) => (r -> s -> t -> a) -> r -> s -> t -> a | | mup :: HasTrie t => (b -> c) -> (t -> b) -> t -> c | | inTrie :: (HasTrie a, HasTrie c) => ((a -> b) -> c -> d) -> (a :->: b) -> c :->: d | | inTrie2 :: (HasTrie a, HasTrie c, HasTrie e) => ((a -> b) -> (c -> d) -> e -> f) -> (a :->: b) -> (c :->: d) -> e :->: f | | inTrie3 :: (HasTrie a, HasTrie c, HasTrie e, HasTrie g) => ((a -> b) -> (c -> d) -> (e -> f) -> g -> h) -> (a :->: b) -> (c :->: d) -> (e :->: f) -> g :->: h |
|
|
Documentation |
|
|
Mapping from all elements of a to the results of some function
| | Associated Types | | Representation of trie with domain type a
|
|
| | Methods | | | | Convert a trie to a function, i.e., access a field of the trie
| | | List the trie elements. Order of keys (:: a) is always the same.
|
| | Instances | |
|
|
|
Domain elements of a trie
|
|
|
Identity trie
|
|
|
Trie composition
|
|
|
Trie-based function memoizer
|
|
|
Memoize a binary function, on its first argument and then on its
second. Take care to exploit any partial evaluation.
|
|
|
Memoize a ternary function on successive arguments. Take care to
exploit any partial evaluation.
|
|
|
Lift a memoizer to work with one more argument.
|
|
|
Apply a unary function inside of a trie
|
|
|
Apply a binary function inside of a trie
|
|
|
Apply a ternary function inside of a trie
|
|
Produced by Haddock version 2.4.2 |