lambda-calculator-3.1.1.0: A lambda calculus interpreter
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Lambda.SystemF.Eval

Synopsis

Documentation

evalExpr :: (Pretty name, Ord name) => SystemFExpr name -> Typecheck name (SystemFExpr name) Source #

Evaluates an expression

subGlobals :: Ord name => SystemFExpr name -> Typecheck name (SystemFExpr name) Source #

betaReduce :: (Ord name, Pretty name) => SystemFExpr name -> SystemFExpr name -> Typecheck name (SystemFExpr name) Source #

alphaConvert :: (Ord name, Pretty name) => [name] -> SystemFExpr name -> Typecheck name (SystemFExpr name) Source #

etaConvert :: Ord name => SystemFExpr name -> SystemFExpr name Source #

freeVarsOf :: (Ord name, Pretty name) => SystemFExpr name -> [name] Source #