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

Safe HaskellNone
LanguageHaskell2010

HERMIT.Dictionary.Rules

Contents

Synopsis

GHC Rewrite Rules and Specialisation

externals :: [External] Source

Externals that reflect GHC functions, or are derived from GHC functions.

Rules

ruleR :: (ReadBindings c, HasCoreRules c) => RuleNameString -> Rewrite c HermitM CoreExpr Source

Lookup a rule and attempt to construct a corresponding rewrite.

ruleToEqualityT :: (BoundVars c, HasDynFlags m, HasModGuts m, MonadThings m, MonadCatch m) => Transform c m CoreRule CoreExprEquality Source

Returns the universally quantified binders, the LHS, and the RHS.

getHermitRulesT :: HasCoreRules c => Transform c HermitM a [(RuleNameString, CoreRule)] Source

Return all the RULES (including specialization RULES on binders) currently in scope.

Specialisation

specConstrR :: RewriteH ModGuts Source

Run GHC's specConstr pass, and apply any rules generated.