The core API for recursive maps.
The core API for recursive maps.
(ref key)
(ref key not-found)
Returns the value mapped to key, not-found or nil if key
not present. Only bound during valuate!
and valuate-keys!
.
Returns the value mapped to key, not-found or nil if key not present. Only bound during [[valuate!]] and [[valuate-keys!]].
(ref-tag key)
A tagged literal processor, for use with clojure.edn/read-string.
(clojure.edn/read-string {:readers {'rmap/ref rmap.core/ref-tag}} "{:foo 1 :bar #rmap/ref :foo}")
A tagged literal processor, for use with clojure.edn/read-string. (clojure.edn/read-string {:readers {'rmap/ref rmap.core/ref-tag}} "{:foo 1 :bar #rmap/ref :foo}")
(rmap m)
Takes an associative datastructure m and returns m where each of the
values are wrapped as an rval
. Can be a literal representation,
then the unevaluated expressions are passed to rval
.
Takes an associative datastructure m and returns m where each of the values are wrapped as an [[rval]]. Can be a literal representation, then the unevaluated expressions are passed to [[rval]].
(rval & body)
Takes a body of expressions and yields an RVal object. The body is
not evaluated yet. The body can use the ref
function while it is
evaluated, or you can bind it locally for use at a later stage.
Takes a body of expressions and yields an RVal object. The body is not evaluated yet. The body can use the [[ref]] function while it is evaluated, or you can bind it locally for use at a later stage.
(valuate! m)
(valuate! m f)
Given associative datastructure m, returns m where all RVal values
are evaluated. Takes an optional post-evaluation wrapper function
receiving a clojure.lang.MapEntry
.
Given associative datastructure m, returns m where all RVal values are evaluated. Takes an optional post-evaluation wrapper function receiving a `clojure.lang.MapEntry`.
(valuate-keys! m & keys)
Given associative datastructure m, returns m where all RVal values under the given keys and their dependencies are evaluated.
Given associative datastructure m, returns m where all RVal values under the given keys and their dependencies are evaluated.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close