LAM-0.1.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

LAM.CanTrim

Description

Trimming closures.

Synopsis

Documentation

class CanTrim term (t :: Type -> Type) where #

CanTrim for a term type term and container type t provides a function to trim the enivronment of a closure, i.e. to remove all unused variables. If the term type uses DeBruijn indices, this also has to adjust the indices for the new environment.

Methods

trim :: Closure term t -> Closure term t #

Instances

Instances details
CanTrim DBTTerm0 NamedList # 
Instance details

Defined in LAM.Exec.DBTrimPure

CanTrim DBTTerm0 [] # 
Instance details

Defined in LAM.Exec.DBTrimPure

CanTrim DBTerm NamedList # 
Instance details

Defined in LAM.CanTrim

CanTrim DBTerm Seq # 
Instance details

Defined in LAM.Exec.DBNoTrimPure

CanTrim DBTerm Vector # 
Instance details

Defined in LAM.Exec.DBNoTrimPure

CanTrim DBTerm [] # 
Instance details

Defined in LAM.Exec.DBNoTrimPure

CanTrim Term NamedList # 
Instance details

Defined in LAM.CanTrim

CanTrim Term Trie # 
Instance details

Defined in LAM.CanTrim

collectHeap :: forall (t :: Type -> Type) term. Traversable t => RState IORef term t -> IO (HeapRefs term t) #

Resolve all heap pointers (i.e. IORefs) of a RState.