Theoria.Kernel.Reference (theoria v0.4.0)

Copy Markdown View Source

Slow, explicit reference checker for the first Theoria kernel fragment.

Summary

Functions

Reference type checking for the supported core fragment.

Reference type inference for the supported core fragment.

Types

result()

@type result() :: {:ok, Theoria.Term.t()} | {:error, Theoria.Error.t()}

Functions

check(env, term, expected)

@spec check(Theoria.Env.t(), Theoria.Term.t(), Theoria.Term.t()) ::
  :ok | {:error, Theoria.Error.t()}

Reference type checking for the supported core fragment.

check(env, context, lam, expected)

@spec check(Theoria.Env.t(), Theoria.Context.t(), Theoria.Term.t(), Theoria.Term.t()) ::
  :ok | {:error, Theoria.Error.t()}

infer(env, term)

@spec infer(Theoria.Env.t(), Theoria.Term.t()) :: result()

Reference type inference for the supported core fragment.

infer(env, context, eq_rec)