Liking cljdoc? Tell your friends :D

spectrum.conform


*resolve-seen*clj

source

*unify-call-count*clj

source

*unify-recursion-count*clj

source

*unify-seen*clj

source

*unify-temp-cache*clj

source

accept-nil?cljmultimethod

True if this (regex) type may accept no input

True if this (regex) type may accept no input
sourceraw docstring

add-value-pred-whitelist!clj

(add-value-pred-whitelist! v)

Declare var predicate v as safe for calling to unify with values. v should be a predicate, pure (free of side-effects) and fast

Declare var predicate v as safe for calling to unify with values. v
should be a predicate, pure (free of side-effects) and fast
sourceraw docstring

apply-invokeclj

source

apply-invoke-dispatchclj

(apply-invoke-dispatch it subst)
source

apply-tclj

(apply-t f args)

Utility/test fn. Given an invoke, return all possible return types

Utility/test fn. Given an invoke, return all possible return types
sourceraw docstring

arities-complementary?clj

(arities-complementary? x y)

True if x and y are both fn-ts, and they have no arities in common

True if x and y are both fn-ts, and they have no arities in common
sourceraw docstring

assoc-substclj

(assoc-subst subst x y)
source

cacheable?clj

(cacheable? x y)
source

composite?clj

(composite? x)
source

cyclic-t?clj

(cyclic-t? t subst)
source

debug-substsclj

(debug-substs t substs)

Given a subst, print the parts relevant to type t

Given a subst, print the parts relevant to type t
sourceraw docstring

debug-unifyclj

(debug-unify x y)
(debug-unify x y substs)
source

derive-all-anyclj

(derive-all-any)

We need all tagged types to derive from #'any?, so default dispatching works

We need all tagged types to derive from #'any?, so default dispatching works
sourceraw docstring

disentangleclj

(disentangle x)

Given a type containing possible choices, such as alt or or, resolve the choices and return a seq of all possible concrete specs that don't contain ambiguity.

(disentangle (cat [(c/? ?t1) ?t2]) => ([cat ?t1 ?t2] [cat ?t2])

Given a type containing possible choices, such as `alt` or `or`,
  resolve the choices and return a seq of all possible concrete specs
  that don't contain ambiguity.

(disentangle (cat [(c/? ?t1) ?t2])
=>
([cat ?t1 ?t2] [cat ?t2])
sourceraw docstring

disentangle*cljmultimethod

source

dxcljmultimethod

source

dx-dispatchclj

(dx-dispatch x y substs)
source

dx-methodsclj

(dx-methods)
source

dx?clj

(dx? t)
source

first-dispatchclj

(first-dispatch t)
source

first-tcljmultimethod

For regexes, returns a seq of possible values of calling first on the type

For regexes, returns a seq of possible values of calling `first` on
the type
sourceraw docstring

free-t?clj

(free-t? t subst)
source

get-var-typeclj

(get-var-type v)
source

maybe-thunkclj

(maybe-thunk it)
(maybe-thunk it substs)

Thunk if possible, else return the invoke-t

Thunk if possible, else return the invoke-t
sourceraw docstring

merge-substsclj

(merge-substs substs)
source

merge-substs-1clj

(merge-substs-1 substs)
source

narrow-unify-any-logic-1clj

(narrow-unify-any-logic-1 x y subst)
source

occurs?clj

(occurs? a b subst)

Does a occur anywhere inside b

Does a occur anywhere inside b
sourceraw docstring

pending?clj

(pending? x)
source

printable-invoke-tclj

(printable-invoke-t it)
source

recursive-type?clj

(recursive-type? t subst)
source

resolve-typeclj

(resolve-type t subst)
source

resolve-type*cljmultimethod

source

resolve-type-dispatchclj

(resolve-type-dispatch t subst)
source

thunkclj

(thunk it)
(thunk it substs)
source

unifyclj

Unifies term x and y with initial subst.

Returns a seq of subst maps, (map of name->term) that unify x and y, or nil if they can't be unified.

Unifies term x and y with initial subst.

Returns a seq of subst maps, (map of name->term) that unify x and y, or nil if
they can't be unified.
sourceraw docstring

unify*clj

(unify* x y)
(unify* x y substs)
source

unify-any-anyclj

(unify-any-any x y substs)
source

unify-any-logicclj

(unify-any-logic x y substs)
source

unify-any-logic-1clj

(unify-any-logic-1 x y subst)
source

unify-any-orclj

(unify-any-or x y substs)
source

unify-dx-dxclj

(unify-dx-dx tx ty substs)
source

unify-logic-anyclj

(unify-logic-any x y substs)
source

unify-logic-any-1clj

(unify-logic-any-1 x y subst)
source

unify-logic-logic-1clj

(unify-logic-logic-1 x y subst)
source

unify-term-valueclj

(unify-term-value x)
source

unify-termscljmultimethod

sourceraw docstring

unify-terms-dispatchclj

(unify-terms-dispatch x y subst)
source

unify-terms-equivclj

(unify-terms-equiv x y)

Define unify-terms such that x and y unify, bidirectionally

Define unify-terms such that x and y unify, bidirectionally
sourceraw docstring

unify-terms-method?clj

(unify-terms-method? x y)

Is there a direct dispatch value for (unify-terms x y)?

Is there a *direct* dispatch value for (unify-terms x y)?
sourceraw docstring

unify-terms-methodsclj

(unify-terms-methods)
source

valid?clj

(valid? x y)
source

value-pred-whitelistclj

source

var-pred?clj

(var-pred? x)
source

verify-unifyclj

(verify-unify x y old-substs new-substs)
source

with-canonicalclj

(with-canonical unify-f)
source

with-class-castclj

(with-class-cast unify-f)
source

with-debugclj

(with-debug unify-f)
source

with-depthclj

(with-depth unify-f)
source

with-detect-loopclj

(with-detect-loop unify-f)
source

with-disentangleclj

(with-disentangle unify-f)
source

with-doallclj

(with-doall unify-f)
source

with-ensure-temp-cacheclj

(with-ensure-temp-cache unify-f)
source

with-no-infiniteclj

(with-no-infinite unify-f)
source

with-perm-cacheclj

(with-perm-cache unify-f)
source

with-require-substsclj

(with-require-substs unify-f)

It's easy to accidentally call the 2-arity unify from inside unify-terms, which can cause serious, hard-to-find bugs. Assert that never happens

It's easy to accidentally call the 2-arity unify from inside
unify-terms, which can cause serious, hard-to-find bugs. Assert that
never happens
sourceraw docstring

with-temp-cacheclj

(with-temp-cache unify-f)
source

with-unify-call-countclj

(with-unify-call-count unify-f)
source

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

× close