Theoria.Equation.Definition (theoria v0.7.0)

Copy Markdown View Source

Experimental/internal API for 0.2; subject to change before 0.3. Small internal helpers for building core lambda definitions.

Summary

Functions

Wraps a body in multiple lambdas.

Builds a unary core lambda.

Types

binder()

@type binder() :: {atom(), Theoria.Term.t()}

Functions

binary(left_name, left_type, right_name, right_type, body)

Builds a binary core lambda.

lam_many(binders, body)

@spec lam_many([binder()], Theoria.Term.t()) :: Theoria.Term.t()

Wraps a body in multiple lambdas.

unary(name, type, body)

@spec unary(atom(), Theoria.Term.t(), Theoria.Term.t()) :: Theoria.Term.t()

Builds a unary core lambda.