Liking cljdoc? Tell your friends :D

clojure.core.unify

A unification library for Clojure.

A unification library for Clojure.
raw docstring

create-var-unification-fncljmacro

(create-var-unification-fn want-occurs?)
source

extract-lvarsclj

(extract-lvars form)
(extract-lvars lv-fn form)

Takes a datastructure and returns a distinct set of the logical variables found within.

Takes a datastructure and returns a distinct set of the logical
variables found within.
sourceraw docstring

flatten-bindingsclj

(flatten-bindings binds)
(flatten-bindings variable? binds)

Flattens recursive bindings in the given map to the same ground (if possible).

Flattens recursive bindings in the given map to the same ground (if possible).
sourceraw docstring

ignore-variable?clj

(ignore-variable? sym)
source

lvar?clj

source

make-occurs-subst-fnclj

(make-occurs-subst-fn variable-fn)

Given a function to recognize unification variables, returns a function that will attempt to substitute unification bindings between two expressions. This function uses an 'occurs check' methodology for detecting cycles.

Given a function to recognize unification variables, returns a function that
will attempt to substitute unification bindings between two expressions.
This function uses an 'occurs check' methodology for detecting cycles.
sourceraw docstring

make-occurs-unifier-fnclj

(make-occurs-unifier-fn variable-fn)

Given a function to recognize unification variables, returns a function to perform the unification of two expressions. This function uses an 'occurs check' methodology for detecting cycles.

Given a function to recognize unification variables, returns a function to
perform the unification of two expressions. This function uses an 'occurs check'
methodology for detecting cycles.
sourceraw docstring

make-occurs-unify-fnclj

(make-occurs-unify-fn variable-fn)

Given a function to recognize unification variables, returns a function to return a bindings map for two expressions. This function uses an 'occurs check' methodology for detecting cycles.

Given a function to recognize unification variables, returns a function to
return a bindings map for two expressions.  This function uses an 'occurs check'
methodology for detecting cycles.
sourceraw docstring

make-subst-fnclj

(make-subst-fn variable-fn)

Given a function to recognize unification variables, returns a function that will attempt to substitute unification bindings between two expressions.

Given a function to recognize unification variables, returns a function that
will attempt to substitute unification bindings between two expressions.
sourceraw docstring

make-unifier-fnclj

(make-unifier-fn variable-fn)

Given a function to recognize unification variables, returns a function to perform the unification of two expressions.

Given a function to recognize unification variables, returns a function to
perform the unification of two expressions.
sourceraw docstring

make-unify-fnclj

(make-unify-fn variable-fn)

Given a function to recognize unification variables, returns a function to return a bindings map for two expressions.

Given a function to recognize unification variables, returns a function to
return a bindings map for two expressions.
sourceraw docstring

substclj

(subst expression bindings)

Attempts to substitute the bindings in the appropriate locations in the given expression.

Attempts to substitute the bindings in the appropriate locations in the given expression.
sourceraw docstring

unifierclj

(unifier expression1 expression2)

Attempts the entire unification process from garnering the bindings to substituting the appropriate bindings. Note: This function is implemented with an occurs-check.

Attempts the entire unification process from garnering the bindings to substituting
the appropriate bindings.  Note: This function is implemented with an occurs-check.
sourceraw docstring

unifier-clj

(unifier- expression1 expression2)

Attempts the entire unification process from garnering the bindings to substituting the appropriate bindings. Note: This function is implemented without an occurs-check.

Attempts the entire unification process from garnering the bindings to substituting
the appropriate bindings.  Note: This function is implemented **without** an occurs-check.
sourceraw docstring

unifyclj

(unify expression1 expression2)

Attempt to unify x and y with the given bindings (if any). Potentially returns a map of the unifiers (bindings) found. Will throw an IllegalStateException if the expressions contain a cycle relationship. Will also throw an IllegalArgumentException if the sub-expressions clash. Note: This function is implemented with an occurs-check.

Attempt to unify x and y with the given bindings (if any). Potentially returns a map of the 
unifiers (bindings) found.  Will throw an `IllegalStateException` if the expressions
contain a cycle relationship.  Will also throw an `IllegalArgumentException` if the
sub-expressions clash.  Note: This function is implemented with an occurs-check.
sourceraw docstring

unify-clj

(unify- expression1 expression2)

Attempt to unify x and y with the given bindings (if any). Potentially returns a map of the unifiers (bindings) found. Will throw an IllegalStateException if the expressions contain a cycle relationship. Will also throw an IllegalArgumentException if the sub-expressions clash. Note: This function is implemented without an occurs-check.

Attempt to unify x and y with the given bindings (if any). Potentially returns a map of the 
unifiers (bindings) found.  Will throw an `IllegalStateException` if the expressions
contain a cycle relationship.  Will also throw an `IllegalArgumentException` if the
sub-expressions clash.  Note: This function is implemented **without** an occurs-check.
sourceraw docstring

wildcard?clj

(wildcard? form)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close