Theoria.Level (theoria v0.7.0)

Copy Markdown View Source

Universe levels.

Summary

Types

subst()

@type subst() :: %{optional(atom()) => t()}

t()

Functions

cast!(level)

@spec cast!(non_neg_integer() | t()) :: t()

equal?(left, right)

@spec equal?(t(), t()) :: boolean()

from_integer(level)

@spec from_integer(non_neg_integer()) :: t()

leq?(left, right)

@spec leq?(t(), t()) :: boolean()

max(left, right)

@spec max(t(), t()) :: t()

normalize(level)

@spec normalize(t()) :: t()

param(name)

@spec param(atom()) :: Theoria.Level.Param.t()

params(level)

@spec params(t()) :: MapSet.t(atom())

subst(level, subst)

@spec subst(t(), subst()) :: t()

succ(level)

@spec succ(t()) :: Theoria.Level.Succ.t()

to_integer(level)

@spec to_integer(t()) :: {:ok, non_neg_integer()} | :error

zero()

@spec zero() :: Theoria.Level.Zero.t()

zero?(level)

@spec zero?(t()) :: boolean()