CLJS
basic-lein-cljs.core
cljs.analyzer
cljs.compiler
CLJS
cljs.core
CLJS
cljs.core.async
CLJS
cljs.core.async.impl.buffers
CLJS
cljs.core.async.impl.channels
CLJS
cljs.core.async.impl.dispatch
CLJS
cljs.core.async.impl.ioc-helpers
CLJS
cljs.core.async.impl.protocols
CLJS
cljs.core.async.impl.timers
cljs.env
cljs.externs
CLJS
cljs.js
cljs.js-deps
CLJS
cljs.pprint
CLJS
cljs.reader
CLJS
cljs.repl
cljs.source-map
CLJS
cljs.source-map
cljs.source-map.base64
CLJS
cljs.source-map.base64
cljs.source-map.base64-vlq
CLJS
cljs.source-map.base64-vlq
CLJS
cljs.spec.alpha
CLJS
cljs.spec.gen.alpha
cljs.tagged-literals
CLJS
cljs.tools.reader
CLJS
cljs.tools.reader.edn
CLJS
cljs.tools.reader.impl.commons
CLJS
cljs.tools.reader.impl.errors
CLJS
cljs.tools.reader.impl.inspect
CLJS
cljs.tools.reader.impl.utils
CLJS
cljs.tools.reader.reader-types
cljs.util
clojure.core
clojure.core.async
clojure.core.async.impl.buffers
clojure.core.async.impl.channels
clojure.core.async.impl.concurrent
clojure.core.async.impl.dispatch
clojure.core.async.impl.exec.threadpool
clojure.core.async.impl.ioc-macros
clojure.core.async.impl.mutex
clojure.core.async.impl.protocols
clojure.core.async.impl.timers
clojure.core.cache
clojure.core.memoize
clojure.core.protocols
clojure.core.server
clojure.data.json
clojure.data.priority-map
clojure.edn
clojure.instant
clojure.java.io
clojure.main
clojure.pprint
clojure.reflect
clojure.repl
clojure.set
CLJS
clojure.set
clojure.spec.alpha
clojure.spec.gen.alpha
clojure.string
CLJS
clojure.string
clojure.tools.analyzer
clojure.tools.analyzer.ast
clojure.tools.analyzer.env
clojure.tools.analyzer.jvm
clojure.tools.analyzer.jvm.utils
clojure.tools.analyzer.passes
clojure.tools.analyzer.passes.add-binding-atom
clojure.tools.analyzer.passes.cleanup
clojure.tools.analyzer.passes.constant-lifter
clojure.tools.analyzer.passes.elide-meta
clojure.tools.analyzer.passes.emit-form
clojure.tools.analyzer.passes.jvm.analyze-host-expr
clojure.tools.analyzer.passes.jvm.annotate-host-info
clojure.tools.analyzer.passes.jvm.annotate-loops
clojure.tools.analyzer.passes.jvm.annotate-tag
clojure.tools.analyzer.passes.jvm.box
clojure.tools.analyzer.passes.jvm.classify-invoke
clojure.tools.analyzer.passes.jvm.constant-lifter
clojure.tools.analyzer.passes.jvm.emit-form
clojure.tools.analyzer.passes.jvm.fix-case-test
clojure.tools.analyzer.passes.jvm.infer-tag
clojure.tools.analyzer.passes.jvm.validate
clojure.tools.analyzer.passes.jvm.validate-loop-locals
clojure.tools.analyzer.passes.jvm.validate-recur
clojure.tools.analyzer.passes.jvm.warn-on-reflection
clojure.tools.analyzer.passes.source-info
clojure.tools.analyzer.passes.trim
clojure.tools.analyzer.passes.uniquify
clojure.tools.analyzer.passes.warn-earmuff
clojure.tools.analyzer.utils
clojure.tools.cli
clojure.tools.namespace.dependency
clojure.tools.namespace.file
clojure.tools.namespace.find
clojure.tools.namespace.parse
clojure.tools.namespace.track
clojure.tools.reader
clojure.tools.reader.default-data-readers
clojure.tools.reader.impl.commons
clojure.tools.reader.impl.errors
clojure.tools.reader.impl.inspect
clojure.tools.reader.impl.utils
clojure.tools.reader.reader-types
clojure.walk
CLJS
clojure.walk
dynadoc.aliases
dynadoc.common
dynadoc.core
CLJS
dynadoc.core
dynadoc.example
CLJS
dynadoc.state
dynadoc.static
dynadoc.utils
dynadoc.watch
eval-soup.clojail
eval-soup.core
CLJS
eval-soup.core
CLJS
figwheel.client
CLJS
figwheel.client.file-reloading
CLJS
figwheel.client.heads-up
CLJS
figwheel.client.socket
CLJS
figwheel.client.utils
hawk.core
hawk.watcher
html-soup.core
ns-tracker.core
ns-tracker.dependency
ns-tracker.nsdeps
ns-tracker.parse
CLJS
oakcljs.tools.reader
CLJS
oakcljs.tools.reader.impl.commons
CLJS
oakcljs.tools.reader.impl.errors
CLJS
oakcljs.tools.reader.impl.inspect
CLJS
oakcljs.tools.reader.impl.utils
CLJS
oakcljs.tools.reader.reader-types
oakclojure.tools.reader
oakclojure.tools.reader.default-data-readers
oakclojure.tools.reader.impl.commons
oakclojure.tools.reader.impl.errors
oakclojure.tools.reader.impl.inspect
oakclojure.tools.reader.impl.utils
oakclojure.tools.reader.reader-types
org.httpkit.server
CLJS
paren-soup.console
CLJS
paren-soup.core
CLJS
paren-soup.dom
CLJS
paren-soup.instarepl
CLJS
reagent.core
CLJS
reagent.debug
CLJS
reagent.dom
CLJS
reagent.impl.batching
CLJS
reagent.impl.component
CLJS
reagent.impl.template
CLJS
reagent.impl.util
CLJS
reagent.ratom
ring.middleware.content-type
ring.middleware.file
ring.middleware.head
ring.middleware.keyword-params
ring.middleware.params
ring.middleware.reload
ring.middleware.resource
ring.util.codec
ring.util.io
ring.util.mime-type
ring.util.parsing
ring.util.request
ring.util.response
ring.util.time
rum.core
CLJS
rum.core
rum.cursor
rum.derived-atom
rum.server-render
rum.util
sablono.compiler
CLJS
sablono.core
sablono.normalize
sablono.util
tag-soup.core

cljs.core

(*)

(* x)

(* x y)

(* x y & more)

Returns the product of nums. (*) returns 1.

*command-line-args*

A sequence of the supplied command line arguments, or nil if none were supplied

*flush-on-newline*

When set to true, output will be flushed whenever a newline is printed. Defaults to true.

*main-cli-fn*

When compiled for a command-line target, whatever function *main-cli-fn* is set to will be called with the command-line argv as arguments

*ns*

Var bound to the current namespace. Only used for bootstrapping.

*print-dup*

When set to logical true, objects will be printed in a way that preserves their type when read in later. Defaults to false.

*print-err-fn*

Each runtime environment provides a different way to print error output. Whatever function *print-err-fn* is bound to will be passed any Strings which should be printed.

*print-fn*

Each runtime environment provides a different way to print output. Whatever function *print-fn* is bound to will be passed any Strings which should be printed.

*print-fn-bodies*

*print-fns-bodies* controls whether functions print their source or only their names.

*print-length*

*print-length* controls how many items of each collection the printer will print. If it is bound to logical false, there is no limit. Otherwise, it must be bound to an integer indicating the maximum number of items of each collection to print. If a collection contains more items, the printer will print items up to the limit followed by '...' to represent the remaining items. The root binding is nil indicating no limit.

*print-level*

*print-level* controls how many levels deep the printer will print nested objects. If it is bound to logical false, there is no limit. Otherwise, it must be bound to an integer indicating the maximum level to print. Each argument to print is at level 0; if an argument is a collection, its items are at level 1; and so on. If an object is a collection and is at a level greater than or equal to the value bound to *print-level*, the printer prints '#' to represent it. The root binding is nil indicating no limit.

*print-meta*

If set to logical true, when printing an object, its metadata will also be printed in a form that can be read back by the reader. Defaults to false.

*print-namespace-maps*

*print-namespace-maps* controls whether the printer will print namespace map literal syntax. Defaults to false, but the REPL binds it to true.

*print-newline*

When set to logical false will drop newlines from printing calls. This is to work around the implicit newlines emitted by standard JavaScript console objects.

*print-readably*

When set to logical false, strings and characters will be printed with non-alphanumeric characters converted to the appropriate escape sequences. Defaults to true

(+)

(+ x)

(+ x y)

(+ x y & more)

Returns the sum of nums. (+) returns 0.

(- x)

(- x y)

(- x y & more)

If no ys are supplied, returns the negation of x, else subtracts the ys from x and returns the result.

(-add-watch this key f)

Part of the IWatchable protocol

Adds a watcher function f to this. Keys must be unique per reference, and can be used to remove the watch with -remove-watch.

(-as-transient coll)

Part of the IEditableCollection protocol

Returns a new, transient version of the collection, in constant time.

(-assoc coll k v)

Part of the IAssociative protocol

Returns a new collection of coll with a mapping from key k to value v added to it.

(-assoc! tcoll key val)

Part of the ITransientAssociative protocol

Returns a new transient collection of tcoll with a mapping from key to val added to it.

(-assoc-n coll n val)

Part of the IVector protocol

Returns a new vector with value val added at position n.

(-assoc-n! tcoll n val)

Part of the ITransientVector protocol

Returns tcoll with value val added at position n.

(-chunked-first coll)

Part of the IChunkedSeq protocol

Returns the first chunk in coll.

(-chunked-next coll)

Part of the IChunkedNext protocol

Returns a new collection of coll without the first chunk.

(-chunked-rest coll)

Part of the IChunkedSeq protocol

Return a new collection of coll with the first chunk removed.

(-clone value)

Part of the ICloneable protocol

Creates a clone of value.

(-comparator coll)

Part of the ISorted protocol

Returns the comparator for coll.

(-compare x y)

Part of the IComparable protocol

Returns a negative number, zero, or a positive number when x is logically 'less than', 'equal to', or 'greater than' y.

(-conj coll o)

Part of the ICollection protocol

Returns a new collection of coll with o added to it. The new item should be added to the most efficient place, e.g. (conj [1 2 3 4] 5) => [1 2 3 4 5] (conj '(2 3 4 5) 1) => '(1 2 3 4 5)

(-conj! tcoll val)

Part of the ITransientCollection protocol

Adds value val to tcoll and returns tcoll.

(-contains-key? coll k)

Part of the IAssociative protocol

Returns true if k is a key in coll.

(-count coll)

Part of the ICounted protocol

Calculates the count of coll in constant time. Used by cljs.core/count.

(-deref o)

Part of the IDeref protocol

Returns the value of the reference o.

(-disjoin coll v)

Part of the ISet protocol

Returns a new collection of coll that does not contain v.

(-disjoin! tcoll v)

Part of the ITransientSet protocol

Returns tcoll without v.

(-dissoc coll k)

Part of the IMap protocol

Returns a new collection of coll without the mapping for key k.

(-dissoc! tcoll key)

Part of the ITransientMap protocol

Returns a new transient collection of tcoll without the mapping for key.

(-drop-first coll)

Part of the IChunk protocol

Return a new chunk of coll with the first item removed.

(-empty coll)

Part of the IEmptyableCollection protocol

Returns an empty collection of the same category as coll. Used by cljs.core/empty.

(-entry-key coll entry)

Part of the ISorted protocol

Returns the key for entry.

(-equiv o other)

Part of the IEquiv protocol

Returns true if o and other are equal, false otherwise.

(-find coll k)

Part of the IFind protocol

Returns the map entry for key, or nil if key not present.

(-first coll)

Part of the ISeq protocol

Returns the first item in the collection coll. Used by cljs.core/first.

(-flush writer)

Part of the IWriter protocol

Flush writer.

(-hash o)

Part of the IHash protocol

Returns the hash code of o.

(-iterator coll)

Part of the IIterable protocol

Returns an iterator for coll.

(-key coll)

Part of the IMapEntry protocol

Returns the key of the map entry.

(-kv-reduce coll f init)

Part of the IKVReduce protocol

Reduces an associative collection and returns the result. f should be a function that takes three arguments.

(-lookup o k)

(-lookup o k not-found)

Part of the ILookup protocol

Use k to look up a value in o. If not-found is supplied and k is not a valid value that can be used for look up, not-found is returned.

(-meta o)

Part of the IMeta protocol

Returns the metadata of object o.

(-name x)

Part of the INamed protocol

Returns the name String of x.

(-namespace x)

Part of the INamed protocol

Returns the namespace String of x.

(-next coll)

Part of the INext protocol

Returns a new collection of coll without the first item. In contrast to rest, it should return nil if there are no more items, e.g. (next []) => nil (next nil) => nil

(-notify-watches this oldval newval)

Part of the IWatchable protocol

Calls all watchers with this, oldval and newval.

(-nth coll n)

(-nth coll n not-found)

Part of the IIndexed protocol

Returns the value at the index n in the collection coll. Returns not-found if index n is out of bounds and not-found is supplied.

(-peek coll)

Part of the IStack protocol

Returns the item from the top of the stack. Is used by cljs.core/peek.

(-persistent! tcoll)

Part of the ITransientCollection protocol

Creates a persistent data structure from tcoll and returns it.

(-pop coll)

Part of the IStack protocol

Returns a new stack without the item on top of the stack. Is used by cljs.core/pop.

(-pop! tcoll)

Part of the ITransientVector protocol

Returns tcoll with the last item removed from it.

(-realized? x)

Part of the IPending protocol

Returns true if a value for x has been produced, false otherwise.

(-reduce coll f)

(-reduce coll f start)

Part of the IReduce protocol

f should be a function of 2 arguments. If start is not supplied, returns the result of applying f to the first 2 items in coll, then applying f to that result and the 3rd item, etc.

(-remove-watch this key)

Part of the IWatchable protocol

Removes watcher that corresponds to key from this.

(-reset! o new-value)

Part of the IReset protocol

Sets the value of o to new-value.

(-rest coll)

Part of the ISeq protocol

Returns a new collection of coll without the first item. It should always return a seq, e.g. (rest []) => () (rest nil) => ()

(-rseq coll)

Part of the IReversible protocol

Returns a seq of the items in coll in reversed order.

(-seq o)

Part of the ISeqable protocol

Returns a seq of o, or nil if o is empty.

(-sorted-seq coll ascending?)

Part of the ISorted protocol

Returns a sorted seq from coll in either ascending or descending order.

(-sorted-seq-from coll k ascending?)

Part of the ISorted protocol

Returns a sorted seq from coll in either ascending or descending order. If ascending is true, the result should contain all items which are > or >= than k. If ascending is false, the result should contain all items which are < or <= than k, e.g. (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 true) => (3 4 5) (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 false) => (3 2 1)

(-swap! o f)

(-swap! o f a)

(-swap! o f a b)

(-swap! o f a b xs)

Part of the ISwap protocol

Swaps the value of o to be (apply f current-value-of-atom args).

(-val coll)

Part of the IMapEntry protocol

Returns the value of the map entry.

(-vreset! o new-value)

Part of the IVolatile protocol

Sets the value of volatile o to new-value without regard for the current value. Returns new-value.

(-with-meta o meta)

Part of the IWithMeta protocol

Returns a new object with value of o and metadata meta added to it.

(-write writer s)

Part of the IWriter protocol

Writes s with writer and returns the result.

(/ x)

(/ x y)

(/ x y & more)

If no denominators are supplied, returns 1/numerator, else returns numerator divided by all of the denominators.

(< x)

(< x y)

(< x y & more)

Returns non-nil if nums are in monotonically increasing order, otherwise false.

(<= x)

(<= x y)

(<= x y & more)

Returns non-nil if nums are in monotonically non-decreasing order, otherwise false.

(= x)

(= x y)

(= x y & more)

Equality. Returns true if x equals y, false if not. Compares numbers and collections in a type-independent manner. Clojure's immutable data structures define -equiv (and thus =) as a value, not an identity, comparison.

(== x)

(== x y)

(== x y & more)

Returns non-nil if nums all have the equivalent value, otherwise false. Behavior on non nums is undefined.

(> x)

(> x y)

(> x y & more)

Returns non-nil if nums are in monotonically decreasing order, otherwise false.

(>= x)

(>= x y)

(>= x y & more)

Returns non-nil if nums are in monotonically non-increasing order, otherwise false.

APersistentVector

Methods in this protocol

    Marker protocol

    ASeq

    Methods in this protocol

      Marker protocol indicating an array sequence.

      Fn

      Methods in this protocol

        Marker protocol

        IAssociative

        Methods in this protocol

        Protocol for adding associativity to collections.

        IAtom

        Methods in this protocol

          Marker protocol indicating an atom.

          IChunk

          Methods in this protocol

          Protocol for accessing the items of a chunk.

          IChunkedNext

          Methods in this protocol

          Protocol for accessing the chunks of a collection.

          IChunkedSeq

          Methods in this protocol

          Protocol for accessing a collection as sequential chunks.

          ICloneable

          Methods in this protocol

          Protocol for cloning a value.

          ICollection

          Methods in this protocol

          Protocol for adding to a collection.

          IComparable

          Methods in this protocol

          Protocol for values that can be compared.

          ICounted

          Methods in this protocol

          Protocol for adding the ability to count a collection in constant time.

          IDeref

          Methods in this protocol

          Protocol for adding dereference functionality to a reference.

          IDerefWithTimeout

          Methods in this protocol

          IEditableCollection

          Methods in this protocol

          Protocol for collections which can transformed to transients.

          IEmptyableCollection

          Methods in this protocol

          Protocol for creating an empty collection.

          IEquiv

          Methods in this protocol

          Protocol for adding value comparison functionality to a type.

          IFind

          Methods in this protocol

          Protocol for implementing entry finding in collections.

          IFn

          Methods in this protocol

          Protocol for adding the ability to invoke an object as a function. For example, a vector can also be used to look up a value: ([1 2 3 4] 1) => 2

          IHash

          Methods in this protocol

          Protocol for adding hashing functionality to a type.

          IIndexed

          Methods in this protocol

          Protocol for collections to provide indexed-based access to their items.

          IIterable

          Methods in this protocol

          Protocol for iterating over a collection.

          IKVReduce

          Methods in this protocol

          Protocol for associative types that can reduce themselves via a function of key and val. Called by cljs.core/reduce-kv.

          IList

          Methods in this protocol

            Marker interface indicating a persistent list

            ILookup

            Methods in this protocol

            Protocol for looking up a value in a data structure.

            IMap

            Methods in this protocol

            Protocol for adding mapping functionality to collections.

            IMapEntry

            Methods in this protocol

            Protocol for examining a map entry.

            IMeta

            Methods in this protocol

            Protocol for accessing the metadata of an object.

            INamed

            Methods in this protocol

            Protocol for adding a name.

            INext

            Methods in this protocol

            Protocol for accessing the next items of a collection.

            IPending

            Methods in this protocol

            Protocol for types which can have a deferred realization. Currently only implemented by Delay and LazySeq.

            IPrintWithWriter

            Methods in this protocol

            The old IPrintable protocol's implementation consisted of building a giant list of strings to concatenate. This involved lots of concat calls, intermediate vectors, and lazy-seqs, and was very slow in some older JS engines. IPrintWithWriter implements printing via the IWriter protocol, so it be implemented efficiently in terms of e.g. a StringBuffer append.

            IRecord

            Methods in this protocol

              Marker interface indicating a record object

              IReduce

              Methods in this protocol

              Protocol for seq types that can reduce themselves. Called by cljs.core/reduce.

              IReset

              Methods in this protocol

              Protocol for adding resetting functionality.

              IReversible

              Methods in this protocol

              Protocol for reversing a seq.

              ISeq

              Methods in this protocol

              Protocol for collections to provide access to their items as sequences.

              ISeqable

              Methods in this protocol

              Protocol for adding the ability to a type to be transformed into a sequence.

              ISequential

              Methods in this protocol

                Marker interface indicating a persistent collection of sequential items

                ISet

                Methods in this protocol

                Protocol for adding set functionality to a collection.

                ISorted

                Protocol for a collection which can represent their items in a sorted manner.

                IStack

                Methods in this protocol

                Protocol for collections to provide access to their items as stacks. The top of the stack should be accessed in the most efficient way for the different data structures.

                ISwap

                Methods in this protocol

                Protocol for adding swapping functionality.

                ITransientAssociative

                Methods in this protocol

                Protocol for adding associativity to transient collections.

                ITransientCollection

                Methods in this protocol

                Protocol for adding basic functionality to transient collections.

                ITransientMap

                Methods in this protocol

                Protocol for adding mapping functionality to transient collections.

                ITransientSet

                Methods in this protocol

                Protocol for adding set functionality to a transient collection.

                ITransientVector

                Methods in this protocol

                Protocol for adding vector functionality to transient collections.

                IVector

                Methods in this protocol

                Protocol for adding vector functionality to collections.

                IVolatile

                Methods in this protocol

                Protocol for adding volatile functionality.

                IWatchable

                Protocol for types that can be watched. Currently only implemented by Atom.

                IWithMeta

                Methods in this protocol

                Protocol for adding metadata to an object.

                IWriter

                Methods in this protocol

                Protocol for writing. Currently only implemented by StringBufferWriter.

                Inst

                Methods in this protocol

                (aclone arr)

                Returns a javascript array, cloned from the passed in array

                (aget array idx)

                (aget array idx & idxs)

                Returns the value at the index/indices. Works on JavaScript arrays.

                (alength array)

                Returns the length of the array. Works on arrays of all types.

                (any? x)

                Returns true if given any argument.

                (apply f args)

                (apply f x args)

                (apply f x y args)

                (apply f x y z args)

                (apply f a b c d & args)

                Applies fn f to the argument list formed by prepending intervening arguments to args.

                Example

                Apply a function to a vector of arguments
                (apply + [40 2])
                Apply a function to a list of arguments
                (apply - '(50 5 3))
                Apply a function to multiple collections of different types
                (map (partial apply max) [[1 2 3 4] '(-1 0 1 2)])

                (array var-args)

                Creates a new javascript array. @param {...*} var_args

                (array-seq array)

                (array-seq array i)

                Create a seq from a JavaScript array.

                (array? x)

                Returns true if x is a JavaScript array.

                (aset array idx val)

                (aset array idx idx2 & idxv)

                Sets the value at the index/indices. Works on JavaScript arrays. Returns val.

                (assoc coll k v)

                (assoc coll k v & kvs)

                assoc[iate]. When applied to a map, returns a new map of the same (hashed/sorted) type, that contains the mapping of key(s) to val(s). When applied to a vector, returns a new vector that contains val at index.

                (assoc! tcoll key val)

                (assoc! tcoll key val & kvs)

                When applied to a transient map, adds mapping of key(s) to val(s). When applied to a transient vector, sets the val at index. Note - index must be <= (count vector). Returns coll.

                (assoc-in m [k & ks] v)

                Associates a value in a nested associative structure, where ks is a sequence of keys and v is the new value and returns a new nested structure. If any levels do not exist, hash-maps will be created.

                (associative? x)

                Returns true if coll implements Associative

                (atom x)

                (atom x & {:keys [meta validator]})

                Creates and returns an Atom with an initial value of x and zero or more options (in any order): :meta metadata-map :validator validate-fn If metadata-map is supplied, it will be come the metadata on the atom. validate-fn must be nil or a side-effect-free fn of one argument, which will be passed the intended new state on any state change. If the new state is unacceptable, the validate-fn should return false or throw an Error. If either of these error conditions occur, then the value of the atom will not change.

                (bit-clear x n)

                Clear bit at index n

                (bit-count v)

                Counts the number of bits set in n

                (bit-flip x n)

                Flip bit at index n

                (bit-not x)

                Bitwise complement

                (bit-set x n)

                Set bit at index n

                (bit-shift-right-zero-fill x n)

                DEPRECATED: Bitwise shift right with zero fill

                (bit-test x n)

                Test bit at index n

                (boolean x)

                Coerce to boolean

                (boolean? x)

                Return true if x is a Boolean

                (bounded-count n coll)

                If coll is counted? returns its count, else will count at most the first n elements of coll using its seq

                (char x)

                Coerce to char

                (char? x)

                Returns true if x is a JavaScript string of length one.

                (chunked-seq? x)

                Return true if x is satisfies IChunkedSeq.

                (clone value)

                Clone the supplied value which must implement ICloneable.

                (cloneable? value)

                Return true if x implements ICloneable protocol.

                (coll? x)

                Returns true if x satisfies ICollection

                (comp)

                (comp f)

                (comp f g)

                (comp f g h)

                (comp f1 f2 f3 & fs)

                Takes a set of functions and returns a fn that is the composition of those fns. The returned fn takes a variable number of args, applies the rightmost of fns to the args, the next fn (right-to-left) to the result, etc.

                (compare x y)

                Comparator. Returns a negative number, zero, or a positive number when x is logically 'less than', 'equal to', or 'greater than' y. Uses IComparable if available and google.array.defaultCompare for objects of the same type and special-cases nil to be less than any other object.

                (compare-and-set! a oldval newval)

                Atomically sets the value of atom to newval if and only if the current value of the atom is equal to oldval. Returns true if set happened, else false.

                (complement f)

                Takes a fn f and returns a fn that takes the same arguments as f, has the same effects, if any, and returns the opposite truth value.

                (completing f)

                (completing f cf)

                Takes a reducing function f of 2 args and returns a fn suitable for transduce by adding an arity-1 signature that calls cf (default - identity) on the result argument.

                (concat)

                (concat x)

                (concat x y)

                (concat x y & zs)

                Returns a lazy seq representing the concatenation of the elements in the supplied colls.

                (conj)

                (conj coll)

                (conj coll x)

                (conj coll x & xs)

                conj[oin]. Returns a new collection with the xs 'added'. (conj nil item) returns (item). The 'addition' may happen at different 'places' depending on the concrete type.

                Example

                Add a name to a vector
                (conj ["Alice" "Bob"] "Charlie")
                Add a number to a list
                (conj '(2 3) 1)
                Add a key-val pair to a hash map
                (conj {:name "Alice"} [:age 30])

                (conj!)

                (conj! tcoll)

                (conj! tcoll val)

                (conj! tcoll val & vals)

                Adds val to the transient collection, and return tcoll. The 'addition' may happen at different 'places' depending on the concrete type.

                (cons x coll)

                Returns a new seq where x is the first element and coll is the rest.

                (constantly x)

                Returns a function that takes any number of arguments and returns x.

                (contains? coll v)

                Returns true if key is present in the given collection, otherwise returns false. Note that for numerically indexed collections like vectors and arrays, this tests if the numeric key is within the range of indexes. 'contains?' operates constant or logarithmic time; it will not perform a linear search for a value. See also 'some'.

                (count coll)

                Returns the number of items in the collection. (count nil) returns 0. Also works on strings, arrays, and Maps

                (counted? x)

                Returns true if coll implements count in constant time

                (cycle coll)

                Returns a lazy (infinite!) sequence of repetitions of the items in coll.

                (dec x)

                Returns a number one less than num.

                (deref o)

                Also reader macro: @var/@atom/@delay. Returns the most-recently-committed value of ref. When applied to a var or atom, returns its current state. When applied to a delay, forces it if not already forced. See also - realized?.

                (disj coll)

                (disj coll k)

                (disj coll k & ks)

                disj[oin]. Returns a new set of the same (hashed/sorted) type, that does not contain key(s).

                (disj! tcoll val)

                (disj! tcoll val & vals)

                disj[oin]. Returns a transient set of the same (hashed/sorted) type, that does not contain key(s).

                (dissoc coll)

                (dissoc coll k)

                (dissoc coll k & ks)

                dissoc[iate]. Returns a new map of the same (hashed/sorted) type, that does not contain a mapping for key(s).

                (dissoc! tcoll key)

                (dissoc! tcoll key & ks)

                Returns a transient map that doesn't contain a mapping for key(s).

                (distinct? x)

                (distinct? x y)

                (distinct? x y & more)

                Returns true if no two of the arguments are =

                (double-array size-or-seq)

                (double-array size init-val-or-seq)

                Creates an array of doubles. Does not coerce array, provided for compatibility with Clojure.

                (double? x)

                Returns true for JavaScript numbers, false otherwise.

                (drop n)

                (drop n coll)

                Returns a lazy sequence of all but the first n items in coll. Returns a stateful transducer when no collection is provided.

                (drop-last s)

                (drop-last n s)

                Return a lazy sequence of all but the last n (default 1) items in coll

                (drop-while pred)

                (drop-while pred coll)

                Returns a lazy sequence of the items in coll starting from the first item for which (pred item) returns logical false. Returns a stateful transducer when no collection is provided.

                Example

                (do ["Remove all non-vowel characters up to the first vowel"] (drop-while (complement #{\a \e \i \o \u}) "clojure"))

                (empty coll)

                Returns an empty collection of the same category as coll, or nil

                (empty? coll)

                Returns true if coll has no items - same as (not (seq coll)). Please use the idiom (seq x) rather than (not (empty? x))

                (enable-console-print!)

                Set *print-fn* to console.log

                (ensure-reduced x)

                If x is already reduced?, returns it, else returns (reduced x)

                (equiv-map x y)

                Test map equivalence. Returns true if x equals y, otherwise returns false.

                (es6-iterator coll)

                EXPERIMENTAL: Return a ES2015 compatible iterator for coll.

                (es6-iterator-seq iter)

                EXPERIMENTAL: Given an ES2015 compatible iterator return a seq.

                (even? n)

                Returns true if n is even, throws an exception if n is not an integer

                (every-pred p)

                (every-pred p1 p2)

                (every-pred p1 p2 p3)

                (every-pred p1 p2 p3 & ps)

                Takes a set of predicates and returns a function f that returns true if all of its composing predicates return a logical true value against all of its arguments, else it returns false. Note that f is short-circuiting in that it will stop execution on the first argument that triggers a logical false result against the original predicates.

                (every? pred coll)

                Returns true if (pred x) is logical true for every x in coll, else false.

                (false? x)

                Returns true if x is the value false, false otherwise.

                (ffirst coll)

                Same as (first (first x))

                (filter pred)

                (filter pred coll)

                Returns a lazy sequence of the items in coll for which (pred item) returns true. pred must be free of side-effects. Returns a transducer when no collection is provided.

                Example

                (do ["Exclude languages with single character names"] (filter (fn* [p1__18668#] (> (count p1__18668#) 1)) ["Java" "Lisp" "Fortran" "C" "D" "C++"]))

                (filterv pred coll)

                Returns a vector of the items in coll for which (pred item) returns true. pred must be free of side-effects.

                (find coll k)

                Returns the map entry for key, or nil if key not present.

                (first coll)

                Returns the first item in the collection. Calls seq on its argument. If coll is nil, returns nil.

                (flatten x)

                Takes any nested combination of sequential things (lists, vectors, etc.) and returns their contents as a single, flat sequence. (flatten nil) returns nil.

                (float? x)

                Returns true for JavaScript numbers, false otherwise.

                (fn? f)

                Return true if f is a JavaScript function or satisfies the Fn protocol.

                (fnext coll)

                Same as (first (next x))

                (fnil f x)

                (fnil f x y)

                (fnil f x y z)

                Takes a function f, and returns a function that calls f, replacing a nil first argument to f with the supplied value x. Higher arity versions can replace arguments in the second and third positions (y, z). Note that the function f can take any number of arguments, not just the one(s) being nil-patched.

                (get o k)

                (get o k not-found)

                Returns the value mapped to key, not-found or nil if key not present.

                (get-in m ks)

                (get-in m ks not-found)

                Returns the value in a nested associative structure, where ks is a sequence of keys. Returns nil if the key is not present, or the not-found value if supplied.

                (get-validator iref)

                Gets the validator-fn for a var/ref/agent/atom.

                (hash o)

                Returns the hash code of its argument. Note this is the hash code consistent with =.

                (hash-ordered-coll coll)

                Returns the hash code, consistent with =, for an external ordered collection implementing Iterable. See http://clojure.org/data_structures#hash for full algorithms.

                (hash-unordered-coll coll)

                Returns the hash code, consistent with =, for an external unordered collection implementing Iterable. For maps, the iterator should return map entries whose hash is computed as (hash-ordered-coll [k v]). See http://clojure.org/data_structures#hash for full algorithms.

                (ident? x)

                Return true if x is a symbol or keyword

                (identical? x y)

                Tests if 2 arguments are the same object

                (identity x)

                Returns its argument.

                (ifind? x)

                Returns true if coll implements IFind

                (ifn? f)

                Returns true if f returns true for fn? or satisfies IFn.

                (inc x)

                Returns a number one greater than num.

                (indexed? x)

                Returns true if coll implements nth in constant time

                (infinite? x)

                Returns true for Infinity and -Infinity values.

                (inst-ms inst)

                Return the number of milliseconds since January 1, 1970, 00:00:00 GMT

                (inst-ms* inst)

                Part of the Inst protocol

                (inst? x)

                Return true if x satisfies Inst

                (instance? c x)

                Evaluates x and tests if it is an instance of the type c. Returns true or false

                (int x)

                Coerce to int by stripping decimal places.

                (int-array size-or-seq)

                (int-array size init-val-or-seq)

                Creates an array of ints. Does not coerce array, provided for compatibility with Clojure.

                (int? x)

                Return true if x satisfies integer? or is an instance of goog.math.Integer or goog.math.Long.

                (integer? n)

                Returns true if n is a JavaScript number with no decimal part.

                (interleave)

                (interleave c1)

                (interleave c1 c2)

                (interleave c1 c2 & colls)

                Returns a lazy seq of the first item in each coll, then the second etc.

                Example

                Combine two seqs of unequal length
                (interleave (repeat "a") [1 2 3])
                Create a map using two vectors
                (apply assoc {} (interleave [:fruit :color :temp] ["grape" "red" "hot"]))

                (interpose sep)

                (interpose sep coll)

                Returns a lazy seq of the elements of coll separated by sep. Returns a stateful transducer when no collection is provided.

                (into)

                (into to)

                (into to from)

                (into to xform from)

                Returns a new coll consisting of to-coll with all of the items of from-coll conjoined. A transducer may be supplied.

                (into-array aseq)

                (into-array type aseq)

                Returns an array with components set to the values in aseq. Optional type argument accepted for compatibility with Clojure.

                (iterable? x)

                Return true if x implements IIterable protocol.

                (iterate f x)

                Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects

                (js-delete obj key)

                Delete a property from a JavaScript object.

                (js-invoke obj s & args)

                Invoke JavaScript object method via string. Needed when the string is not a valid unquoted property name.

                (js-keys obj)

                Return the JavaScript keys for an object.

                (js-mod n d)

                Modulus of num and div with original javascript behavior. i.e. bug for negative numbers

                (js-obj)

                (js-obj & keyvals)

                Create JavaSript object from an even number arguments representing interleaved keys and values.

                (keep f)

                (keep f coll)

                Returns a lazy sequence of the non-nil results of (f item). Note, this means false return values will be included. f must be free of side-effects. Returns a transducer when no collection is provided.

                (keep-indexed f)

                (keep-indexed f coll)

                Returns a lazy sequence of the non-nil results of (f index item). Note, this means false return values will be included. f must be free of side-effects. Returns a stateful transducer when no collection is provided.

                (keyword name)

                (keyword ns name)

                Returns a Keyword with the given namespace and name. Do not use : in the keyword strings, it will be added automatically.

                (keyword-identical? x y)

                Efficient test to determine that two keywords are identical.

                (keyword? x)

                Return true if x is a Keyword

                (last s)

                Return the last item in coll, in linear time

                (list & xs)

                Creates a new list containing the items.

                (list* args)

                (list* a args)

                (list* a b args)

                (list* a b c args)

                (list* a b c d & more)

                Creates a new list containing the items prepended to the rest, the last of which will be treated as a sequence.

                (list? x)

                Returns true if x implements IList

                (long x)

                Coerce to long by stripping decimal places. Identical to `int'.

                (long-array size-or-seq)

                (long-array size init-val-or-seq)

                Creates an array of longs. Does not coerce array, provided for compatibility with Clojure.

                (make-array size)

                (make-array type size)

                (make-array type size & more-sizes)

                Construct a JavaScript array of the specified dimensions. Accepts ignored type argument for compatibility with Clojure. Note that there is no efficient way to allocate multi-dimensional arrays in JavaScript; as such, this function will run in polynomial time when called with 3 or more arguments.

                (map f)

                (map f coll)

                (map f c1 c2)

                (map f c1 c2 c3)

                (map f c1 c2 c3 & colls)

                Returns a lazy sequence consisting of the result of applying f to the set of first items of each coll, followed by applying f to the set of second items in each coll, until any one of the colls is exhausted. Any remaining items in other colls are ignored. Function f should accept number-of-colls arguments. Returns a transducer when no collection is provided.

                (map-indexed f)

                (map-indexed f coll)

                Returns a lazy sequence consisting of the result of applying f to 0 and the first item of coll, followed by applying f to 1 and the second item in coll, etc, until coll is exhausted. Thus function f should accept 2 arguments, index and item. Returns a stateful transducer when no collection is provided.

                (map? x)

                Return true if x satisfies IMap

                (mapcat f)

                (mapcat f & colls)

                Returns the result of applying concat to the result of applying map to f and colls. Thus function f should return a collection. Returns a transducer when no collections are provided

                (mapv f coll)

                (mapv f c1 c2)

                (mapv f c1 c2 c3)

                (mapv f c1 c2 c3 & colls)

                Returns a vector consisting of the result of applying f to the set of first items of each coll, followed by applying f to the set of second items in each coll, until any one of the colls is exhausted. Any remaining items in other colls are ignored. Function f should accept number-of-colls arguments.

                (max x)

                (max x y)

                (max x y & more)

                Returns the greatest of the nums.

                merge-with

                Example

                (do ["Combine all map values that have the same key"] (merge-with concat {:rubble ["Barney"], :flintstone ["Fred"]} {:rubble ["Betty"], :flintstone ["Wilma"]} {:rubble ["Bam-Bam"], :flintstone ["Pebbles"]}))

                (meta o)

                Returns the metadata of obj, returns nil if there is no metadata.

                (min x)

                (min x y)

                (min x y & more)

                Returns the least of the nums.

                (mix-collection-hash hash-basis count)

                Mix final collection hash for ordered or unordered collections. hash-basis is the combined collection hash, count is the number of elements included in the basis. Note this is the hash code consistent with =, different from .hashCode. See http://clojure.org/data_structures#hash for full algorithms.

                (mod n d)

                Modulus of num and div. Truncates toward negative infinity.

                (namespace x)

                Returns the namespace String of a symbol or keyword, or nil if not present.

                (nat-int? x)

                Return true if x satisfies int? and is a natural integer value.

                (native-satisfies? p x)

                Internal - do not use!

                (neg-int? x)

                Return true if x satisfies int? and is negative.

                (neg? x)

                Returns true if num is less than zero, else false

                (next coll)

                Returns a seq of the items after the first. Calls seq on its argument. If there are no more items, returns nil

                (nfirst coll)

                Same as (next (first x))

                (nil? x)

                Returns true if x is nil, false otherwise.

                (nnext coll)

                Same as (next (next x))

                (not x)

                Returns true if x is logical false, false otherwise.

                (not-any? pred coll)

                Returns false if (pred x) is logical true for any x in coll, else true.

                (not-empty coll)

                If coll is empty, returns nil, else coll

                (not-every? pred coll)

                Returns false if (pred x) is logical true for every x in coll, else true.

                (nth coll n)

                (nth coll n not-found)

                Returns the value at the index. get returns nil if index out of bounds, nth throws an exception unless not-found is supplied. nth also works for strings, arrays, regex Matchers and Lists, and, in O(n) time, for sequences.

                (nthnext coll n)

                Returns the nth next of coll, (seq coll) when n is 0.

                (nthrest coll n)

                Returns the nth rest of coll, coll when n is 0.

                (number? x)

                Returns true if x is a JavaScript number.

                (object-array size-or-seq)

                (object-array size init-val-or-seq)

                Creates an array of objects. Does not coerce array, provided for compatibility with Clojure.

                (object? x)

                Returns true if x's constructor is Object

                (odd? n)

                Returns true if n is odd, throws an exception if n is not an integer

                (partial f)

                (partial f arg1)

                (partial f arg1 arg2)

                (partial f arg1 arg2 arg3)

                (partial f arg1 arg2 arg3 & more)

                Takes a function f and fewer than the normal arguments to f, and returns a fn that takes a variable number of additional args. When called, the returned function calls f with args + additional args.

                (partition n coll)

                (partition n step coll)

                (partition n step pad coll)

                Returns a lazy sequence of lists of n items each, at offsets step apart. If step is not supplied, defaults to n, i.e. the partitions do not overlap. If a pad collection is supplied, use its elements as necessary to complete last partition up to n items. In case there are not enough padding elements, return a partition with less than n items.

                (peek coll)

                For a list or queue, same as first, for a vector, same as, but much more efficient than, last. If the collection is empty, returns nil.

                (persistent! tcoll)

                Returns a new, persistent version of the transient collection, in constant time. The transient collection cannot be used after this call, any such use will throw an exception.

                (pop coll)

                For a list or queue, returns a new list/queue without the first item, for a vector, returns a new vector without the last item. Note - not the same as next/butlast.

                (pop! tcoll)

                Removes the last item from a transient vector. If the collection is empty, throws an exception. Returns tcoll

                (pos-int? x)

                Return true if x satisfies int? and is positive.

                (pos? x)

                Returns true if num is greater than zero, else false

                (pr-str* obj)

                Support so that collections can implement toString without loading all the printing machinery.

                (prim-seq prim)

                (prim-seq prim i)

                Create seq from a primitive JavaScript Array-like.

                (qualified-ident? x)

                Return true if x is a symbol or keyword with a namespace

                (qualified-keyword? x)

                Return true if x is a keyword with a namespace

                (qualified-symbol? x)

                Return true if x is a symbol with a namespace

                (quot n d)

                quot[ient] of dividing numerator by denominator.

                (record? x)

                Return true if x satisfies IRecord

                (reduce f coll)

                (reduce f val coll)

                f should be a function of 2 arguments. If val is not supplied, returns the result of applying f to the first 2 items in coll, then applying f to that result and the 3rd item, etc. If coll contains no items, f must accept no arguments as well, and reduce returns the result of calling f with no arguments. If coll has only 1 item, it is returned and f is not called. If val is supplied, returns the result of applying f to val and the first item in coll, then applying f to that result and the 2nd item, etc. If coll contains no items, returns val and f is not called.

                (reduce-kv f init coll)

                Reduces an associative collection. f should be a function of 3 arguments. Returns the result of applying f to init, the first key and the first value in coll, then applying f to that result and the 2nd key and value, etc. If coll contains no entries, returns init and f is not called. Note that reduce-kv is supported on vectors, where the keys will be the ordinals.

                (reduceable? x)

                Returns true if coll satisfies IReduce

                (reduced x)

                Wraps x in a way such that a reduce will terminate with the value x

                (reduced? r)

                Returns true if x is the result of a call to reduced

                (rem n d)

                remainder of dividing numerator by denominator.

                (remove pred)

                (remove pred coll)

                Returns a lazy sequence of the items in coll for which (pred item) returns false. pred must be free of side-effects. Returns a transducer when no collection is provided.

                (repeat x)

                (repeat n x)

                Returns a lazy (infinite!, or length n if supplied) sequence of xs.

                (repeatedly f)

                (repeatedly n f)

                Takes a function of no args, presumably with side effects, and returns an infinite (or length n if supplied) lazy sequence of calls to it

                (replicate n x)

                DEPRECATED: Use 'repeat' instead. Returns a lazy seq of n xs.

                (reset! a new-value)

                Sets the value of atom to newval without regard for the current value. Returns new-value.

                (reset-vals! a new-value)

                Sets the value of atom to newval. Returns [old new], the value of the atom before and after the reset.

                (rest coll)

                Returns a possibly empty seq of the items after the first. Calls seq on its argument.

                (reverse coll)

                Returns a seq of the items in coll in reverse order. Not lazy.

                (reversible? coll)

                Returns true if coll satisfies? IReversible.

                (rseq rev)

                Returns, in constant time, a seq of the items in rev (which can be a vector or sorted-map), in reverse order. If rev is empty returns nil

                (second coll)

                Same as (first (next x))

                (seq coll)

                Returns a seq on the collection. If the collection is empty, returns nil. (seq nil) returns nil. seq also works on Strings.

                (seq? s)

                Return true if s satisfies ISeq

                (seqable? s)

                Return true if the seq function is supported for s

                (sequence coll)

                (sequence xform coll)

                (sequence xform coll & colls)

                Coerces coll to a (possibly empty) sequence, if it is not already one. Will not force a lazy seq. (sequence nil) yields (), When a transducer is supplied, returns a lazy sequence of applications of the transform to the items in coll(s), i.e. to the set of first items of each coll, followed by the set of second items in each coll, until any one of the colls is exhausted. Any remaining items in other colls are ignored. The transform should accept number-of-colls arguments

                (sequential? x)

                Returns true if coll satisfies ISequential

                (set-print-err-fn! f)

                Set *print-err-fn* to f.

                (set-print-fn! f)

                Set *print-fn* to f.

                (set-validator! iref val)

                Sets the validator-fn for an atom. validator-fn must be nil or a side-effect-free fn of one argument, which will be passed the intended new state on any state change. If the new state is unacceptable, the validator-fn should return false or throw an Error. If the current state is not acceptable to the new validator, an Error will be thrown and the validator will not be changed.

                (set? x)

                Returns true if x satisfies ISet

                (shuffle coll)

                Return a random permutation of coll

                (simple-ident? x)

                Return true if x is a symbol or keyword without a namespace

                (simple-keyword? x)

                Return true if x is a keyword without a namespace

                (simple-symbol? x)

                Return true if x is a symbol without a namespace

                (some pred coll)

                Returns the first logical true value of (pred x) for any x in coll, else nil. One common idiom is to use a set as pred, for example this will return :fred if :fred is in the sequence, otherwise nil: (some #{:fred} coll)

                (some-fn p)

                (some-fn p1 p2)

                (some-fn p1 p2 p3)

                (some-fn p1 p2 p3 & ps)

                Takes a set of predicates and returns a function f that returns the first logical true value returned by one of its composing predicates against any of its arguments, else it returns logical false. Note that f is short-circuiting in that it will stop execution on the first argument that triggers a logical true result against the original predicates.

                (some? x)

                Returns true if x is not nil, false otherwise.

                (sort coll)

                (sort comp coll)

                Returns a sorted sequence of the items in coll. Comp can be boolean-valued comparison function, or a -/0/+ valued comparator. Comp defaults to compare.

                (sort-by keyfn coll)

                (sort-by keyfn comp coll)

                Returns a sorted sequence of the items in coll, where the sort order is determined by comparing (keyfn item). Comp can be boolean-valued comparison funcion, or a -/0/+ valued comparator. Comp defaults to compare.

                Example

                Sort using a specific keyword
                (sort-by :year < [{:name "Lisp", :year 1959} {:name "Fortran", :year 1957} {:name "Smalltalk", :year 1972}])
                Sort numbers lexicographically
                (sort-by str [5 18 83 23 40])

                (sorted? x)

                Returns true if coll satisfies ISorted

                (split-at n coll)

                Returns a vector of [(take n coll) (drop n coll)]

                (string? x)

                Returns true if x is a JavaScript string.

                (subs s start)

                (subs s start end)

                Returns the substring of s beginning at start inclusive, and ending at end (defaults to length of string), exclusive.

                (subvec v start)

                (subvec v start end)

                Returns a persistent vector of the items in vector from start (inclusive) to end (exclusive). If end is not supplied, defaults to (count vector). This operation is O(1) and very fast, as the resulting vector shares structure with the original and no trimming is done.

                (swap! a f)

                (swap! a f x)

                (swap! a f x y)

                (swap! a f x y & more)

                Atomically swaps the value of atom to be: (apply f current-value-of-atom args). Note that f may be called multiple times, and thus should be free of side effects. Returns the value that was swapped in.

                (swap-vals! a f)

                (swap-vals! a f x)

                (swap-vals! a f x y)

                (swap-vals! a f x y & more)

                Atomically swaps the value of atom to be: (apply f current-value-of-atom args). Note that f may be called multiple times, and thus should be free of side effects. Returns [old new], the value of the atom before and after the swap.

                (symbol name)

                (symbol ns name)

                Returns a Symbol with the given namespace and name.

                (symbol-identical? x y)

                Efficient test to determine that two symbols are identical.

                (symbol? x)

                Return true if x is a Symbol

                (system-time)

                Returns highest resolution time offered by host in milliseconds.

                (take n)

                (take n coll)

                Returns a lazy sequence of the first n items in coll, or all items if there are fewer than n. Returns a stateful transducer when no collection is provided.

                (take-last n coll)

                Returns a seq of the last n items in coll. Depending on the type of coll may be no better than linear time. For vectors, see also subvec.

                take-while

                Example

                (do ["Get all the negative numbers up to the first non-negative"] (take-while neg? [-2 -1 0 -1 -2 3]))

                (to-array s)

                Naive impl of to-array as a start.

                (to-array-2d coll)

                Returns a (potentially-ragged) 2-dimensional array containing the contents of coll.

                (transduce xform f coll)

                (transduce xform f init coll)

                reduce with a transformation of f (xf). If init is not supplied, (f) will be called to produce it. f should be a reducing step function that accepts both 1 and 2 arguments, if it accepts only 2 you can add the arity-1 with 'completing'. Returns the result of applying (the transformed) xf to init and the first item in coll, then applying xf to that result and the 2nd item, etc. If coll contains no items, returns init and f is not called. Note that certain transforms may inject or skip items.

                (transient coll)

                Returns a new, transient version of the collection, in constant time.

                (tree-seq branch? children root)

                Returns a lazy sequence of the nodes in a tree, via a depth-first walk. branch? must be a fn of one arg that returns true if passed a node that can have children (but may not). children must be a fn of one arg that returns a sequence of the children. Will only be called on nodes for which branch? returns true. Root is the root node of the tree.

                (true? x)

                Returns true if x is the value true, false otherwise.

                (truth_ x)

                Internal - do not use!

                (type x)

                Return x's constructor.

                (unchecked-dec x)

                Returns a number one less than x, an int.

                (unchecked-dec-int x)

                Returns a number one less than x, an int.

                (unchecked-divide-int x)

                (unchecked-divide-int x y)

                (unchecked-divide-int x y & more)

                If no denominators are supplied, returns 1/numerator, else returns numerator divided by all of the denominators.

                (unchecked-int x)

                Coerce to int by stripping decimal places.

                (unchecked-long x)

                Coerce to long by stripping decimal places. Identical to `int'.

                (unchecked-subtract x)

                (unchecked-subtract x y)

                (unchecked-subtract x y & more)

                If no ys are supplied, returns the negation of x, else subtracts the ys from x and returns the result.

                (unchecked-subtract-int x)

                (unchecked-subtract-int x y)

                (unchecked-subtract-int x y & more)

                If no ys are supplied, returns the negation of x, else subtracts the ys from x and returns the result.

                (undefined? x)

                Returns true if x identical to the JavaScript undefined value.

                (unreduced x)

                If x is reduced?, returns (deref x), else returns x

                (unsigned-bit-shift-right x n)

                Bitwise shift right with zero fill

                (update m k f)

                (update m k f x)

                (update m k f x y)

                (update m k f x y z)

                (update m k f x y z & more)

                'Updates' a value in an associative structure, where k is a key and f is a function that will take the old value and any supplied args and return the new value, and returns a new structure. If the key does not exist, nil is passed as the old value.

                (update-in m [k & ks] f)

                (update-in m [k & ks] f a)

                (update-in m [k & ks] f a b)

                (update-in m [k & ks] f a b c)

                (update-in m [k & ks] f a b c & args)

                'Updates' a value in a nested associative structure, where ks is a sequence of keys and f is a function that will take the old value and any supplied args and return the new value, and returns a new nested structure. If any levels do not exist, hash-maps will be created.

                (var? v)

                Returns true if v is of type cljs.core.Var

                (vary-meta obj f)

                (vary-meta obj f a)

                (vary-meta obj f a b)

                (vary-meta obj f a b c)

                (vary-meta obj f a b c d)

                (vary-meta obj f a b c d & args)

                Returns an object of the same type and value as obj, with (apply f (meta obj) args) as its metadata.

                (vec coll)

                Creates a new vector containing the contents of coll. JavaScript arrays will be aliased and should not be modified.

                (vector & args)

                Creates a new vector containing the args.

                (vector? x)

                Return true if x satisfies IVector

                (volatile! val)

                Creates and returns a Volatile with an initial value of val.

                (volatile? x)

                Returns true if x is a volatile.

                (vreset! vol newval)

                Sets the value of volatile to newval without regard for the current value. Returns newval.

                (with-meta o meta)

                Returns an object of the same type and value as obj, with map m as its metadata.

                (zero? x)

                Returns true if num is zero, else false