yamemo-0.5.0: Simple memoisation function

Safe HaskellSafe-Inferred

Data.Function.YaMemo

Contents

Description

Memoisation. It's useful for dynamic programming.

Synopsis

Class

class MemoTable t whereSource

Methods

emptyMemoTable :: Ord a => t a bSource

lookupMemoTable :: Ord a => a -> t a b -> Maybe bSource

insertMemoTable :: Ord a => a -> b -> t a b -> t a bSource

Instances

Type

type Memo t a b = a -> State (t a b) bSource

Function

memo :: (MemoTable t, Ord a) => (a -> State (t a b) b) -> ((a -> State (t a b) b) -> Memo t a b) -> a -> bSource

memo' :: (MemoTable t, Ord a) => ((a -> State (t a b) b) -> Memo t a b) -> t a b -> a -> (t a b, b)Source