Safe Haskell | Safe-Inferred |
---|
Memoisation. It's useful for dynamic programming.
- class MemoTable t where
- emptyMemoTable :: Ord a => t a b
- lookupMemoTable :: Ord a => a -> t a b -> Maybe b
- insertMemoTable :: Ord a => a -> b -> t a b -> t a b
- type Memo t a b = a -> State (t a b) b
- memo :: (MemoTable t, Ord a) => (a -> State (t a b) b) -> ((a -> State (t a b) b) -> Memo t a b) -> a -> b
- memo' :: (MemoTable t, Ord a) => ((a -> State (t a b) b) -> Memo t a b) -> t a b -> a -> (t a b, b)