hermit-0.3.2.0: Haskell Equational Reasoning Model-to-Implementation Tunnel

Safe HaskellNone

HERMIT.Dictionary.Function

Synopsis

Documentation

staticArgR :: (ExtendPath c Crumb, ReadPath c Crumb, AddBindings c) => Rewrite c HermitM CoreDefSource

Traditional Static Argument Transformation

staticArgPosR :: (ExtendPath c Crumb, ReadPath c Crumb, AddBindings c) => [Int] -> Rewrite c HermitM CoreDefSource

Static Argument Transformations which requires that arguments in the given position are static.

staticArgPredRSource

Arguments

:: (ExtendPath c Crumb, ReadPath c Crumb, AddBindings c) 
=> ([(Int, Var)] -> HermitM [Int])

given list of static args and positions, decided which to transform

-> Rewrite c HermitM CoreDef 

Generalized Static Argument Transformation, which allows static arguments to be filtered.

staticArgTypesR :: (ExtendPath c Crumb, ReadPath c Crumb, AddBindings c) => Rewrite c HermitM CoreDefSource

Static Argument Transformation that only considers type arguments to be static.