ecta-1.0.0.3
Safe HaskellNone
LanguageHaskell2010

Data.Memoization

Description

Quick-and-dirty, thread-unsafe, hash-based memoization.

Documentation

data MemoCacheTag Source #

Constructors

NameTag Text 

Instances

Instances details
Eq MemoCacheTag Source # 
Instance details

Defined in Data.Memoization

Ord MemoCacheTag Source # 
Instance details

Defined in Data.Memoization

Show MemoCacheTag Source # 
Instance details

Defined in Data.Memoization

Generic MemoCacheTag Source # 
Instance details

Defined in Data.Memoization

Associated Types

type Rep MemoCacheTag :: Type -> Type #

Hashable MemoCacheTag Source # 
Instance details

Defined in Data.Memoization

Pretty MemoCacheTag Source # 
Instance details

Defined in Data.Memoization

type Rep MemoCacheTag Source # 
Instance details

Defined in Data.Memoization

type Rep MemoCacheTag = D1 ('MetaData "MemoCacheTag" "Data.Memoization" "ecta-1.0.0.3-GsgcdoZGkFZA4oJqDsbHRS" 'False) (C1 ('MetaCons "NameTag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

memoIO :: forall a b. (Eq a, Hashable a) => MemoCacheTag -> (a -> b) -> IO (a -> IO b) Source #

memo :: (Eq a, Hashable a) => MemoCacheTag -> (a -> b) -> a -> b Source #

memo2 :: (Eq a, Hashable a, Eq b, Hashable b) => MemoCacheTag -> (a -> b -> c) -> a -> b -> c Source #