The primary function exported is
parse : String -> Result Error Expr
If application of parse to a string is successful it returns an Expr.
parse : String -> Result (List (Parser.Advanced.DeadEnd Tools.Problem.Context Tools.Problem.Problem)) Lambda.Expression.Expr
exprParser : Parser.Advanced.Parser Tools.Problem.Context Tools.Problem.Problem Lambda.Expression.Expr
> run exprParser "\\x.x(\\y.y)(\\z.z)"
Ok (Apply (Apply (LambdaTest "x" (Var "x")) (LambdaTest "y" (Var "y"))) (LambdaTest "z" (Var "z")))
> run exprParser "\\x.x(\\y.y)(\\z.z)" |> Result.map beta
Ok (LambdaTest "z" (Var "z"))