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

Safe HaskellNone

Language.HERMIT.Primitive.FixPoint

Contents

Synopsis

Operations on the Fixed Point Operator (fix)

Note that many of these operations require fix to be in scope.

externals :: [External]Source

Externals for manipulating fixed points, and for the worker/wrapper transformation.

Rewrites and BiRewrites on Fixed Points

fixIntro :: RewriteH CoreDefSource

f = e ==> f = fix (\ f -> e)

fixComputationRule :: BiRewriteH CoreExprSource

fix ty f <==> f (fix ty f)

rollingRule :: BiRewriteH CoreExprSource

fix tyA (\ a -> f (g a)) <==> f (fix tyB (\ b -> g (f b))