Ckini.Subst (Ckini v0.1.0) View Source
A substitution is set of associations. An association is a {var, val} pair. See the type specs below for details.
Link to this section Summary
Functions
Equivalent to ext-s-nocheck
Equivalent to ext-s. It does circular reference check before inserting an association pair to a substitution.
Convert a substitution to a valid list term
Verify an neq substitution against a base substitution.
Link to this section Types
Specs
assoc() :: {Ckini.Var.t(), Ckini.Term.t()}
An association representing the fact that Var is associated with Term
Specs
t() :: map()
A substitution
Link to this section Functions
Specs
anyvar?(t(), Ckini.Term.t()) :: boolean()
Specs
assocs(t()) :: [{Ckini.Var.t(), Ckini.Term.t()}]
Specs
Specs
decompose(t()) :: nil | {{Ckini.Var.t(), Ckini.Term.t()}, t()}
Specs
deep_walk(t(), Ckini.Term.t() | tuple()) :: Ckini.Term.t() | tuple()
Specs
Specs
insert(t(), Ckini.Var.t(), Ckini.Term.t()) :: t() | nil
Equivalent to ext-s-nocheck
Specs
insert_unsafe(t(), Ckini.Var.t(), Ckini.Term.t()) :: t() | nil
Equivalent to ext-s. It does circular reference check before inserting an association pair to a substitution.
Specs
new() :: t()
Specs
reify(t(), Ckini.Term.t()) :: t()
Specs
singleton(Ckini.Var.t(), Ckini.Term.t()) :: t()
Specs
to_list(t()) :: Ckini.Term.t()
Convert a substitution to a valid list term
Specs
unify(t() | nil, Ckini.Term.t(), Ckini.Term.t()) :: nil | t()
Specs
Verify an neq substitution against a base substitution.
Specs
walk(t(), Ckini.Term.t() | tuple()) :: Ckini.Term.t() | tuple()