(alter-var-root v f & args)
Atomically alters the root binding of sci var v by applying f to its current value plus any args.
Atomically alters the root binding of sci var v by applying f to its current value plus any args.
(binding bindings & body)
Macro for binding sci vars. Must be called with a vector of sci dynamic vars to values.
Macro for binding sci vars. Must be called with a vector of sci dynamic vars to values.
Sci var that represents sci's clojure.core/*err*
Sci var that represents sci's `clojure.core/*err*`
(eval-string s)
(eval-string s opts)
Evaluates string s
as one or multiple Clojure expressions using the Small Clojure Interpreter.
The map opts
may contain the following:
:bindings
: a map of symbols to values, e.g.: {'x 1}
. The
symbols will acts as names bound to the corresponding values in the
expressions.
:namespaces
: a map of symbols to namespaces, where a namespace
is a map with symbols to values, e.g.: {'foo.bar {'x 1}}
. These
namespaces can be used with require
.
:allow
: a seqable of allowed symbols. All symbols, even those
brought in via :bindings
or :namespaces
have to be explicitly
enumerated.
:deny
: a seqable of disallowed symbols, e.g.: [loop quote recur]
.
:realize-max
: integer; when provided, program may realize a
maximum number of elements from sequences, e.g. (vec (range))
will
throw for any number. This also applies to sequences returned from
the expression to the caller.
:preset
: a pretermined set of options. Currently only
:termination-safe
is supported, which will set :realize-max
to
100
and disallows the symbols loop
, recur
and trampoline
.
:features
: when provided a non-empty set of keywords, sci will process reader conditionals using these features (e.g. #{:bb}).
Evaluates string `s` as one or multiple Clojure expressions using the Small Clojure Interpreter. The map `opts` may contain the following: - `:bindings`: a map of symbols to values, e.g.: `{'x 1}`. The symbols will acts as names bound to the corresponding values in the expressions. - `:namespaces`: a map of symbols to namespaces, where a namespace is a map with symbols to values, e.g.: `{'foo.bar {'x 1}}`. These namespaces can be used with `require`. - `:allow`: a seqable of allowed symbols. All symbols, even those brought in via `:bindings` or `:namespaces` have to be explicitly enumerated. - `:deny`: a seqable of disallowed symbols, e.g.: `[loop quote recur]`. - `:realize-max`: integer; when provided, program may realize a maximum number of elements from sequences, e.g. `(vec (range))` will throw for any number. This also applies to sequences returned from the expression to the caller. - `:preset`: a pretermined set of options. Currently only `:termination-safe` is supported, which will set `:realize-max` to `100` and disallows the symbols `loop`, `recur` and `trampoline`. - `:features`: when provided a non-empty set of keywords, sci will process reader conditionals using these features (e.g. #{:bb}).
(future & body)
Like clojure.core/future but also conveys sci bindings to the thread.
Like clojure.core/future but also conveys sci bindings to the thread.
Sci var that represents sci's clojure.core/*in*
Sci var that represents sci's `clojure.core/*in*`
(new-dynamic-var name)
(new-dynamic-var name init-val)
(new-dynamic-var name init-val meta)
Alpha! Same as new-var but adds :dynamic true to meta. API subject to change.
Alpha! Same as new-var but adds :dynamic true to meta. API subject to change.
(new-var name)
(new-var name val)
(new-var name init-val meta)
Alpha! Returns a new sci var. API subject to change.
Alpha! Returns a new sci var. API subject to change.
Sci var that represents sci's clojure.core/*out*
Sci var that represents sci's `clojure.core/*out*`
(pmap f coll)
(pmap f coll & colls)
Like clojure.core/pmap but also conveys sci bindings to the threads.
Like clojure.core/pmap but also conveys sci bindings to the threads.
(with-bindings bindings-map & body)
Macro for binding sci vars. Must be called with map of sci dynamic vars to values. Used in babashka.
Macro for binding sci vars. Must be called with map of sci dynamic vars to values. Used in babashka.
(with-in-str s & body)
Evaluates body in a context in which sci's in is bound to a fresh StringReader initialized with the string s.
Evaluates body in a context in which sci's *in* is bound to a fresh StringReader initialized with the string s.
(with-out-str & body)
Evaluates exprs in a context in which sci's out is bound to a fresh StringWriter. Returns the string created by any nested printing calls.
Evaluates exprs in a context in which sci's *out* is bound to a fresh StringWriter. Returns the string created by any nested printing calls.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close