coincident-root-loci-0.2: Equivariant CSM classes of coincident root loci

Safe HaskellNone
LanguageHaskell2010

Math.RootLoci.Misc.PTable

Contents

Description

Infinite lazy partition tables (used for caching).

We cache almost all computations (which would be otherwise typically executed many times); this really helps performance.

Synopsis

Finite lazy partition tables

newtype PTable a Source #

Constructors

PTable (Map Partition a) 

Infinite lazy partition tables

newtype PSeries a Source #

Constructors

PSeries [PTable a] 

Finite lazy set-partition tables

newtype SetPTable a Source #

Constructors

SetPTable (Map SetPartition a) 

Infinite lazy set-partition tables

newtype SetPSeries a Source #

Constructors

SetPSeries [SetPTable a] 

polymorphic caching

polyCache1 Source #

Arguments

:: CacheKey key 
=> (forall base. ChernBase base => key -> f base)

polymorphic function to be cached

-> forall base. ChernBase base => key -> f base 

polyCache2 Source #

Arguments

:: CacheKey key 
=> (forall base. ChernBase base => key -> f (g base))

polymorphic function to be cached

-> forall base. ChernBase base => key -> f (g base) 

polyCache3 Source #

Arguments

:: CacheKey key 
=> (forall base. ChernBase base => key -> f (g (h base)))

polymorphic function to be cached

-> forall base. ChernBase base => key -> f (g (h base)) 

monomorphic caching

class CacheKey key where Source #

Minimal complete definition

monoCache

Methods

monoCache :: (key -> a) -> key -> a Source #

Instances

individual caching functions

pcache :: (Partition -> a) -> Partition -> a Source #

icache :: (Int -> a) -> Int -> a Source #

icache' :: a -> Int -> (Int -> a) -> Int -> a Source #