L3.Core.Eval
Description
Type checking and type inference
evalExpr :: (Eq a, Enum a, Show a) => Context a -> Expr a -> Result (Expr a, Expr a) Source #
Evaluate an expression, returning its type and normalized form
evalExpr0 :: (Eq a, Enum a, Show a) => Expr a -> Result (Expr a, Expr a) Source #
evalExpr0 is the same as evalExpr with an empty context, meaning that the expression must be closed (i.e. no free variables), otherwise evaluation will fail.
evalExpr0
evalExpr