Experimental/internal API for 0.2; subject to change before 0.3. Small internal helpers for building core lambda definitions.
Summary
Functions
Builds a binary core lambda.
Wraps a body in multiple lambdas.
Builds a unary core lambda.
Types
@type binder() :: {atom(), Theoria.Term.t()}
Functions
@spec binary(atom(), Theoria.Term.t(), atom(), Theoria.Term.t(), Theoria.Term.t()) :: Theoria.Term.t()
Builds a binary core lambda.
@spec lam_many([binder()], Theoria.Term.t()) :: Theoria.Term.t()
Wraps a body in multiple lambdas.
@spec unary(atom(), Theoria.Term.t(), Theoria.Term.t()) :: Theoria.Term.t()
Builds a unary core lambda.