Class Clj
- java.lang.Object
-
- tech.v3.Clj
-
public class Clj extends java.lang.ObjectStatic methods to make using Clojure much easier via Java. The least verbose way of using this class is to use it as a static import. One thing to note is that we provide a convenience interface, tech.v3.datatype.IFnDef that provides default implementations for all of the many IFn invoke arities so you can very easily create an implementation of clojure.lang.IFn like so:return new tech.v3.datatype.IFnDef() { public Object invoke(Object lhs, Object rhs) { return doYourThing(lhs,rhs); } };
-
-
Field Summary
Fields Modifier and Type Field Description static clojure.lang.IFnapplyFnclojure.core/apply in var form.static clojure.lang.IFnassocFndissoc fn.static java.util.Comparatorcomparestatic clojure.lang.IFndissocFndissoc fn.static clojure.lang.VarerrVarstatic clojure.lang.IFngreaterThanFnstatic clojure.lang.IFnidentityFnstatic clojure.lang.IFnlessThanFnstatic clojure.lang.IFnmergeFnmerge fn.static clojure.lang.VaroutVarstatic clojure.lang.IFnupdateFnupdate fn.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Objectapply(java.lang.Object obj, java.lang.Object... args)Invoke an implementation of clojure.lang.IFn with variable arguments.static java.lang.Objectassoc(java.lang.Object mapOrNil, java.lang.Object key, java.lang.Object val)Assoc a new key,val into the map.static java.lang.Objectassoc(java.lang.Object mapOrNil, java.lang.Object key, java.lang.Object val, java.lang.Object... args)Assoc new key,vals into the map.static java.lang.Objectatom(java.lang.Object val)Create a Clojure atom.static java.lang.Objectcall(java.lang.Object obj)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11)Invoke an implementation of clojure.lang.IFn.static java.lang.Objectcall(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12)Invoke an implementation of clojure.lang.IFn.static booleancompareAndSet(java.lang.Object atom, java.lang.Object oldval, java.lang.Object newval)Conditionally set the value of the atom to newval if the current contents match exactly oldval returning true on success.static voidcompile(java.lang.String namespace)Compile a clojure namespace into class files.static voidcompile(java.lang.String namespace, java.lang.String outputDir)Compile a clojure namespace into class files located in a specific output directory.static clojure.lang.IDerefdelay(clojure.lang.IFn code)Takes a body of expressions and yields a Delay object that will invoke the body only the first time it is forced (with force or deref/@), and will cache the result and return it on all subsequent force calls.static java.lang.Objectderef(java.lang.Object data)Deref a Clojure deref'able object.static java.lang.Objectdissoc(java.lang.Object mapOrNil, java.lang.Object key)Dissoc a key from a map returning a new map.static java.lang.Objectdissoc(java.lang.Object mapOrNil, java.lang.Object key, java.lang.Object... keys)Dissoc keys from a map returning a new map.static clojure.lang.ISeqfilter(clojure.lang.IFn pred, java.lang.Object data)filter a sequence by a predicate.static java.util.Maphashmap(java.lang.Object... args)Create a Clojure persistent map with the clojure.core.hash-map function.static booleanisVector(java.lang.Object data)Return true if this data is a persistent vector.static java.lang.Iterablekeys(java.lang.Object val)Return the keys of a map.static clojure.lang.Keywordkeyword(java.lang.String name)Create a Clojure keyword from a string.static clojure.lang.Keywordkeyword(java.lang.String ns, java.lang.String name)Create a Clojure namespaced keyword from a namespace name and a string.static clojure.lang.Keywordkw(java.lang.String name)Create a Clojure keyword from a string.static clojure.lang.Keywordkw(java.lang.String ns, java.lang.String name)Create a Clojure keyword from a namespace name and a string.static java.lang.Objectlist(java.lang.Object... args)Create a Clojure persistent list.static java.lang.AutoCloseablemakeThreadBindings(java.util.Map varvalmap)!!USE WITH CARE!! - pushThreadBindings and then return an auto-closeable thread bindings object that will pop the thread bindings on close.static clojure.lang.ISeqmap(clojure.lang.IFn userFn, java.lang.Object arg0)Map a function across one or more sequences.static clojure.lang.ISeqmap(clojure.lang.IFn userFn, java.lang.Object arg0, java.lang.Object arg1)Map a function across one or more sequences.static clojure.lang.ISeqmap(clojure.lang.IFn userFn, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)Map a function across one or more sequences.static clojure.lang.ISeqmap(clojure.lang.IFn userFn, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object... args)Map a function across one or more sequences.static java.lang.Objectmerge(java.lang.Object leftMap, java.lang.Object rightMap)Merge a left hashmap with a right hashmap, the rightmost hashmap wins on key conflict.static java.lang.Objectmerge(java.lang.Object leftMap, java.lang.Object rightMap, java.lang.Object... maps)Merge a left hashmap with more hashmaps, the rightmost hashmap wins on key conflict.static java.util.Mapmeta(java.lang.Object val)Return the metadata stored on an object.static voidpopThreadBindings()!!USE WITH CARE!! - pop thread bindings that were previously pushed.static voidprintln(java.lang.Object... args)Alternative to System.out.println that automatically combines separate strings with spaces and invokes Clojure's more sophisticated print system.static voidpushThreadBindings(java.util.Map varvalmap)!!USE WITH CARE!!! - push new thread bindings.static java.lang.Objectrange(java.lang.Object end)Create a Clojure range from a single numeric endpoint.static java.lang.Objectrange(java.lang.Object start, java.lang.Object end)Create a Clojure range from a start and end.static java.lang.Objectrange(java.lang.Object start, java.lang.Object end, java.lang.Object increment)Create a Clojure range from a start, end, and increment.static booleanrealized(java.lang.Object item)Return true if the promise, delay, future, or lazy sequence has been realized.static clojure.lang.ISeqrepeatedly(long nTimes, clojure.lang.IFn gen)static clojure.lang.ISeqrepeatedly(clojure.lang.IFn gen)static java.lang.Objectrequire(java.lang.String ns)Ask the clojure runtime to require a particular namespace.static clojure.lang.IFnrequiringResolve(java.lang.String ns, java.lang.String name)Perform a require and then lookup a var.static java.lang.Objectreset(java.lang.Object atom, java.lang.Object val)Reset a Clojure atom to a particular value indepedent of its previous contents.static voidshutdownAgents()Clojure has a pool of threads it uses that take a minute to timeout when the program shuts down.static java.lang.Stringstr(java.lang.Object... args)Create a larger string by directly concatenating toString representations of arguments.static java.lang.Objectswap(java.lang.Object atom, clojure.lang.IFn userSwapFn)Swap a Clojure atom using a function that receives its previous value and must return a new value.static java.lang.Objectswap(java.lang.Object atom, clojure.lang.IFn userSwapFn, java.lang.Object... args)Swap a Clojure atom using a function that receives its previous value followed by args and and must return a new value.static clojure.lang.Symbolsymbol(java.lang.String name)Create a Clojure symbol object from a string.static clojure.lang.Symbolsymbol(java.lang.String ns, java.lang.String name)Create a Clojure symbol object from a namespace name and a string.static clojure.lang.IFnuncheckedRequiringResolve(java.lang.String ns, java.lang.String name)Perform a require and then lookup a var.static java.lang.Objectupdate(java.lang.Object mapOrNil, java.lang.Object key, clojure.lang.IFn updateFn)Update a value at a specific key by passing in a function that gets the previous value and must return a new one.static java.lang.Iterablevals(java.lang.Object val)Return the values of a map.static clojure.lang.IFnvar(java.lang.String ns, java.lang.String name)Find a Clojure public var from a previously required namespace.static java.lang.ObjectvaryMeta(java.lang.Object val, clojure.lang.IFn modifyFn)Change the metadata by passing in a function that receives the old value and must return either null or a new PersistentMap value.static java.lang.ObjectvaryMeta(java.lang.Object val, clojure.lang.IFn modifyFn, java.lang.Object... args)Change the metadata by passing in a function that recieves the old value as the first argument and then any additional args.static java.util.Listvec(java.lang.Object arglist)Create a Clojure persistent vector with the clojure.core.vec function - this version takes a single argument that can be an iterable or an array or a derivative of java.util.List.static java.util.Listvector(java.lang.Object... args)Create a Clojure persistent vector with the clojure.core.vector function.static java.lang.ObjectwithMeta(java.lang.Object val, java.lang.Object data)Store different metadata on an Object.static java.lang.StringwithOutStr(clojure.lang.IFn code)Run side-effecting code and return eveything printed to *out* as a string.
-
-
-
Field Detail
-
applyFn
public static final clojure.lang.IFn applyFn
clojure.core/apply in var form. Useful as you can call it using call
-
identityFn
public static final clojure.lang.IFn identityFn
-
lessThanFn
public static final clojure.lang.IFn lessThanFn
-
greaterThanFn
public static final clojure.lang.IFn greaterThanFn
-
compare
public static final java.util.Comparator compare
-
outVar
public static clojure.lang.Var outVar
-
errVar
public static clojure.lang.Var errVar
-
mergeFn
public static final clojure.lang.IFn mergeFn
merge fn. Useful to pass into update or varyMeta.
-
assocFn
public static final clojure.lang.IFn assocFn
dissoc fn. Useful to pass into update or varyMeta.
-
dissocFn
public static final clojure.lang.IFn dissocFn
dissoc fn. Useful to pass into update or varyMeta.
-
updateFn
public static final clojure.lang.IFn updateFn
update fn. Useful to pass into varyMeta.
-
-
Method Detail
-
symbol
public static clojure.lang.Symbol symbol(java.lang.String name)
Create a Clojure symbol object from a string.
-
symbol
public static clojure.lang.Symbol symbol(java.lang.String ns, java.lang.String name)Create a Clojure symbol object from a namespace name and a string.
-
keyword
public static clojure.lang.Keyword keyword(java.lang.String name)
Create a Clojure keyword from a string. Keywords are used extremely frequently in Clojure so there is a shorthand method - kw.
-
kw
public static clojure.lang.Keyword kw(java.lang.String name)
Create a Clojure keyword from a string.
-
keyword
public static clojure.lang.Keyword keyword(java.lang.String ns, java.lang.String name)Create a Clojure namespaced keyword from a namespace name and a string.
-
kw
public static clojure.lang.Keyword kw(java.lang.String ns, java.lang.String name)Create a Clojure keyword from a namespace name and a string.
-
require
public static java.lang.Object require(java.lang.String ns)
Ask the clojure runtime to require a particular namespace. This must be used before a 'var' lookup but is not required to be used before a 'requiringResolve' lookup.
-
var
public static clojure.lang.IFn var(java.lang.String ns, java.lang.String name)Find a Clojure public var from a previously required namespace. This method returns null on if the var cannot be found.
-
uncheckedRequiringResolve
public static clojure.lang.IFn uncheckedRequiringResolve(java.lang.String ns, java.lang.String name)Perform a require and then lookup a var. Returns 'null' on failure.
-
requiringResolve
public static clojure.lang.IFn requiringResolve(java.lang.String ns, java.lang.String name)Perform a require and then lookup a var. Throws exception if the var isn't found. If an exception isn't desired, use 'uncheckedRequiringResolve'.
-
call
public static java.lang.Object call(java.lang.Object obj)
Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11)Invoke an implementation of clojure.lang.IFn.
-
call
public static java.lang.Object call(java.lang.Object obj, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7, java.lang.Object arg8, java.lang.Object arg9, java.lang.Object arg10, java.lang.Object arg11, java.lang.Object arg12)Invoke an implementation of clojure.lang.IFn.
-
apply
public static java.lang.Object apply(java.lang.Object obj, java.lang.Object... args)Invoke an implementation of clojure.lang.IFn with variable arguments. Also this class exposes applyFn to allow you to do things like:
return call(applyFn, afn, arg1, arg2, restargs);
-
println
public static void println(java.lang.Object... args)
Alternative to System.out.println that automatically combines separate strings with spaces and invokes Clojure's more sophisticated print system.
-
str
public static java.lang.String str(java.lang.Object... args)
Create a larger string by directly concatenating toString representations of arguments.
-
withOutStr
public static java.lang.String withOutStr(clojure.lang.IFn code)
Run side-effecting code and return eveything printed to *out* as a string.
-
hashmap
public static java.util.Map hashmap(java.lang.Object... args)
Create a Clojure persistent map with the clojure.core.hash-map function.
-
vector
public static java.util.List vector(java.lang.Object... args)
Create a Clojure persistent vector with the clojure.core.vector function.
-
vec
public static java.util.List vec(java.lang.Object arglist)
Create a Clojure persistent vector with the clojure.core.vec function - this version takes a single argument that can be an iterable or an array or a derivative of java.util.List.
-
isVector
public static boolean isVector(java.lang.Object data)
Return true if this data is a persistent vector.
-
merge
public static java.lang.Object merge(java.lang.Object leftMap, java.lang.Object rightMap)Merge a left hashmap with a right hashmap, the rightmost hashmap wins on key conflict.
-
merge
public static java.lang.Object merge(java.lang.Object leftMap, java.lang.Object rightMap, java.lang.Object... maps)Merge a left hashmap with more hashmaps, the rightmost hashmap wins on key conflict.
-
assoc
public static java.lang.Object assoc(java.lang.Object mapOrNil, java.lang.Object key, java.lang.Object val)Assoc a new key,val into the map. Returns a new map.
-
assoc
public static java.lang.Object assoc(java.lang.Object mapOrNil, java.lang.Object key, java.lang.Object val, java.lang.Object... args)Assoc new key,vals into the map. Returns a new map.
-
dissoc
public static java.lang.Object dissoc(java.lang.Object mapOrNil, java.lang.Object key)Dissoc a key from a map returning a new map.
-
dissoc
public static java.lang.Object dissoc(java.lang.Object mapOrNil, java.lang.Object key, java.lang.Object... keys)Dissoc keys from a map returning a new map.
-
update
public static java.lang.Object update(java.lang.Object mapOrNil, java.lang.Object key, clojure.lang.IFn updateFn)Update a value at a specific key by passing in a function that gets the previous value and must return a new one. Key does not need to previously exist. Returns a new map.
-
range
public static java.lang.Object range(java.lang.Object end)
Create a Clojure range from a single numeric endpoint.
-
range
public static java.lang.Object range(java.lang.Object start, java.lang.Object end)Create a Clojure range from a start and end. Range will be [start, end).
-
range
public static java.lang.Object range(java.lang.Object start, java.lang.Object end, java.lang.Object increment)Create a Clojure range from a start, end, and increment. Range will be [start, end).
-
list
public static java.lang.Object list(java.lang.Object... args)
Create a Clojure persistent list.
-
pushThreadBindings
public static void pushThreadBindings(java.util.Map varvalmap)
!!USE WITH CARE!!! - push new thread bindings. This is best left ignored unless you need it to interact with Clojure libraries. popThreadBindings *must* be called within the same thread e.g. in a finally clause. varvalmap is a map of Clojure Var (the result of 'var' or 'requiringResolve') to values. The Vars in the map must be dynamic vars else the per-thread bindings will not work.
-
popThreadBindings
public static void popThreadBindings()
!!USE WITH CARE!! - pop thread bindings that were previously pushed.
-
makeThreadBindings
public static java.lang.AutoCloseable makeThreadBindings(java.util.Map varvalmap)
!!USE WITH CARE!! - pushThreadBindings and then return an auto-closeable thread bindings object that will pop the thread bindings on close. Meant to be used within a try-with-resources pattern.
-
deref
public static java.lang.Object deref(java.lang.Object data)
Deref a Clojure deref'able object. These include at least vars, atoms, futures, many custom object types. These types all derive from clojure.lang.IDeref at the very least.
-
atom
public static java.lang.Object atom(java.lang.Object val)
Create a Clojure atom. Atoms allow simple, efficient, and safe multi-threaded use cases. To get the value of the atom call 'deref'.
-
reset
public static java.lang.Object reset(java.lang.Object atom, java.lang.Object val)Reset a Clojure atom to a particular value indepedent of its previous contents.
-
swap
public static java.lang.Object swap(java.lang.Object atom, clojure.lang.IFn userSwapFn)Swap a Clojure atom using a function that receives its previous value and must return a new value. See namespace comments for easy ways to create an implementation of clojure.lang.IFn.
-
swap
public static java.lang.Object swap(java.lang.Object atom, clojure.lang.IFn userSwapFn, java.lang.Object... args)Swap a Clojure atom using a function that receives its previous value followed by args and and must return a new value. See namespace comments for easy ways to create an implementation of clojure.lang.IFn.
-
compareAndSet
public static boolean compareAndSet(java.lang.Object atom, java.lang.Object oldval, java.lang.Object newval)Conditionally set the value of the atom to newval if the current contents match exactly oldval returning true on success.
-
meta
public static java.util.Map meta(java.lang.Object val)
Return the metadata stored on an object. Most Clojure objects implement IMeta and this is a wrapper around calling its meta member fn.
-
withMeta
public static java.lang.Object withMeta(java.lang.Object val, java.lang.Object data)Store different metadata on an Object. Most Clojure objects implement IObj and this is a wrapper around calling its withMeta member fn.
-
varyMeta
public static java.lang.Object varyMeta(java.lang.Object val, clojure.lang.IFn modifyFn)Change the metadata by passing in a function that receives the old value and must return either null or a new PersistentMap value.
-
varyMeta
public static java.lang.Object varyMeta(java.lang.Object val, clojure.lang.IFn modifyFn, java.lang.Object... args)Change the metadata by passing in a function that recieves the old value as the first argument and then any additional args. Function must return either null or a new PersistentMap.
-
keys
public static java.lang.Iterable keys(java.lang.Object val)
Return the keys of a map.
-
vals
public static java.lang.Iterable vals(java.lang.Object val)
Return the values of a map.
-
delay
public static clojure.lang.IDeref delay(clojure.lang.IFn code)
Takes a body of expressions and yields a Delay object that will invoke the body only the first time it is forced (with force or deref/@), and will cache the result and return it on all subsequent force calls.
-
realized
public static boolean realized(java.lang.Object item)
Return true if the promise, delay, future, or lazy sequence has been realized.
-
compile
public static void compile(java.lang.String namespace)
Compile a clojure namespace into class files. Compilation path defaults to './classes'. If this compilation pathway is on the classpath then that namespace will load potentially much faster next time it is 'require'd.
'./classes' must exist.
The major caveat here is if you upgrade the base clojure library you must recompile. A difference between the version of the .clj files and the version of the .class files will lead to unpredictable errors running the code.
-
compile
public static void compile(java.lang.String namespace, java.lang.String outputDir)Compile a clojure namespace into class files located in a specific output directory. If this output directoryis on the classpath then that namespace will load potentially much faster next time it is 'require'd.
outputDir must exist.
The major caveat here is if you upgrade the base clojure library you must recompile. A difference between the version of the .clj files and the version of the .class files will lead to unpredictable errors running the code.
-
map
public static clojure.lang.ISeq map(clojure.lang.IFn userFn, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object... args)Map a function across one or more sequences. Resulting sequence will be the length of the shortest input sequences.
-
map
public static clojure.lang.ISeq map(clojure.lang.IFn userFn, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)Map a function across one or more sequences. Resulting sequence will be the length of the shortest input sequences.
-
map
public static clojure.lang.ISeq map(clojure.lang.IFn userFn, java.lang.Object arg0, java.lang.Object arg1)Map a function across one or more sequences. Resulting sequence will be the length of the shortest input sequences.
-
map
public static clojure.lang.ISeq map(clojure.lang.IFn userFn, java.lang.Object arg0)Map a function across one or more sequences. Resulting sequence will be the length of the shortest input sequences.
-
filter
public static clojure.lang.ISeq filter(clojure.lang.IFn pred, java.lang.Object data)filter a sequence by a predicate.
-
repeatedly
public static clojure.lang.ISeq repeatedly(long nTimes, clojure.lang.IFn gen)
-
repeatedly
public static clojure.lang.ISeq repeatedly(clojure.lang.IFn gen)
-
shutdownAgents
public static void shutdownAgents()
Clojure has a pool of threads it uses that take a minute to timeout when the program shuts down. In order to make the shutdown quicker, you can always safely call shutdownAgents just before your program exits.
-
-