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
@type result() :: {:ok, Theoria.Term.t()} | {:error, Theoria.Error.t()}
Functions
@spec check(Theoria.Env.t(), Theoria.Term.t(), Theoria.Term.t()) :: :ok | {:error, Theoria.Error.t()}
Reference type checking for the supported core fragment.
@spec check(Theoria.Env.t(), Theoria.Context.t(), Theoria.Term.t(), Theoria.Term.t()) :: :ok | {:error, Theoria.Error.t()}
@spec infer(Theoria.Env.t(), Theoria.Term.t()) :: result()
Reference type inference for the supported core fragment.
@spec infer(Theoria.Env.t(), Theoria.Context.t(), Theoria.Term.t()) :: result()