Liking cljdoc? Tell your friends :D

dag_unify.core


assoc-inclj/s

(assoc-in m path v)

Similar to clojure.core/assoc-in, but uses unification so that existing values are unified rather than overwritten.

Similar to clojure.core/assoc-in, but uses unification so that existing values are unified rather than overwritten.
sourceraw docstring

assoc-in!clj/s

(assoc-in! m path v)

Similar to assoc-in, but m's references (if any) are modified.

Similar to assoc-in, but m's references (if any) are modified.
sourceraw docstring

copyclj/s

(copy input)
source

create-shared-valuesclj/s

(create-shared-values serialized)
source

deref-mapclj/s

(deref-map input)
source

exists?clj/s

(exists? the-map path)
source

fail-pathclj/s

(fail-path fs1 fs2)
source

fail-path-betweenclj/s

(fail-path-between fs1 fs2)

If unifying fs1 and fs2 leads to a fail somewhere, show the path to the fail. Otherwise return nil. Not efficient: use only for diagnostics.

If unifying fs1 and fs2 leads to a fail somewhere, show the path to the fail. Otherwise return nil. Not efficient: use only for diagnostics.
sourceraw docstring

fail-path-rclj/s

(fail-path-r fs & [fs-keys])

find the first failing path in a fs.

find the first failing path in a fs.
sourceraw docstring

fail?clj/s

(fail? fs)

(fail? fs) <=> true if at least one of fs's path's value is :fail.

(fail? fs) <=> true if at least one of fs's path's value is :fail.
sourceraw docstring

failr?clj/s

(failr? fs keys)
source (clj)source (cljs)

find-fail-inclj/s

(find-fail-in fs1 fs2 paths)
source

get-inclj/s

(get-in in-map path & [not-found])

same as clojure.core (get-in), but references are resolved and followed.

same as clojure.core (get-in), but references are resolved and followed.
sourceraw docstring

has-pathclj/s

(has-path path paths)
source

isomorphic?clj/s

(isomorphic? a b)
source

label-ofclj/s

(label-of parent)
source

mergeclj/s

source

merge-with-keysclj/s

(merge-with-keys arg1 arg2 keys-of-arg1)
source

nonfailclj/s

(nonfail maps)
source

path-to-ref-indexclj/s

(path-to-ref-index serialized path n)
source

pathifyclj/s

(pathify fs & [prefix])

Transform a map into a map of paths/value pairs, where paths are lists of keywords, and values are atomic values. e.g.: {:foo {:bar 42, :baz 99}} => { { (:foo :bar) 42}, {(:foo :baz) 99} } The idea is to map the key :foo to the (recursive) result of pathify on :foo's value.

Transform a map into a map of paths/value pairs,
where paths are lists of keywords, and values are atomic values.
e.g.:
{:foo {:bar 42, :baz 99}} =>  { { (:foo :bar) 42}, {(:foo :baz) 99} }
The idea is to map the key :foo to the (recursive) result of pathify on :foo's value.
sourceraw docstring

pprintclj/s

(pprint input)
source

ref=clj/s

(ref= map path1 path2)
source

ref?clj/s

(ref? val)
source

resolveclj/s

(resolve arg)

if arg is not a ref, return arg. if is a ref, return (resolve @arg)

if arg is not a ref, return arg. if is a ref, return (resolve @arg)
sourceraw docstring

simple-unifyclj/s

source

simplify-refclj/s

(simplify-ref arg)

if arg is a ref and @arg is not a ref, return arg. if @arg is also a ref, return (simplify-ref @arg). else, return arg.

if arg is a ref and @arg is not a ref, return arg. if @arg is also a ref, return (simplify-ref @arg). else, return arg.
sourceraw docstring

strip-refsclj/s

(strip-refs map-with-refs)
source

unifyclj/s

(unify & args)

like unify!, but non-destructively copy each argument before unifying.

like unify!, but non-destructively copy each argument before unifying.
sourceraw docstring

unify!clj/s

(unify! val1)
(unify! val1 val2 & rest-args)

destructively merge arguments, where arguments are maps possibly containing references, so that sharing relationship in the arguments is preserved in the result

destructively merge arguments, where arguments are maps possibly containing references, so that 
sharing relationship in the arguments is preserved in the result
sourceraw docstring

unifycclj/s

(unifyc & args)

alias for (defn unify)

alias for (defn unify)
sourceraw docstring

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

× close