private static Symbol asSym(Object o) { Symbol s; if (o instanceof String) { s = Symbol.intern((String) o); } else { s = (Symbol) o; } return s; }
public static Var find (String ns, String name) { return Var.find(Symbol.intern(ns, name)); }
private void clearClojureNamespace(String ns) { Namespace.remove(Symbol.intern(null, ns)); }
public static void main (String[] args) throws Exception { RT.var("clojure.core", "require").invoke(Symbol.intern("clojure.tools.nrepl.cmdline")); RT.var("clojure.tools.nrepl.cmdline", "-main").applyTo(RT.seq(args)); } }
private static Symbol asSym(Object o) { Symbol s; if (o instanceof String) { s = Symbol.intern((String) o); } else { s = (Symbol) o; } return s; }
public String toString(){ if(_str == null) _str = (":" + sym).intern(); return _str; }
/** * Require a namespace by name, loading it if necessary. * * Calls clojure.core/require * * @param nsName * @return */ public static Object require(String nsName) { return REQUIRE.invoke(Symbol.intern(nsName)); }
public static Var find(Symbol nsQualifiedSym){ if(nsQualifiedSym.ns == null) throw new IllegalArgumentException("Symbol must be namespace-qualified"); Namespace ns = Namespace.find(Symbol.intern(nsQualifiedSym.ns)); if(ns == null) throw new IllegalArgumentException("No such namespace: " + nsQualifiedSym.ns); return ns.findInternedVar(Symbol.intern(nsQualifiedSym.name)); }
public static Var find (String ns, String name) { return Var.find(Symbol.intern(ns, name)); }
public static Keyword find(String ns, String name){ return find(Symbol.intern(ns, name)); }
private static Var fun(Namespace n, String s) { Var ret = Var.intern(n, Symbol.intern(s), dummyFn); return ret; }
public static Var find(Symbol nsQualifiedSym){ if(nsQualifiedSym.ns == null) throw new IllegalArgumentException("Symbol must be namespace-qualified"); Namespace ns = Namespace.find(Symbol.intern(nsQualifiedSym.ns)); if(ns == null) throw new IllegalArgumentException("No such namespace: " + nsQualifiedSym.ns); return ns.findInternedVar(Symbol.intern(nsQualifiedSym.name)); }
static Namespace namespaceFor(Namespace inns, Symbol sym){ //note, presumes non-nil sym.ns // first check against currentNS' aliases... Symbol nsSym = Symbol.intern(sym.ns); Namespace ns = inns.lookupAlias(nsSym); if(ns == null) { // ...otherwise check the Namespaces map. ns = Namespace.find(nsSym); } return ns; }
private static Symbol tagOf(Object o){ Object tag = RT.get(RT.meta(o), RT.TAG_KEY); if(tag instanceof Symbol) return (Symbol) tag; else if(tag instanceof String) return Symbol.intern(null, (String) tag); return null; }
private static Var protoMethod(Var p, String s) { Var ret = Var.intern(p.ns, Symbol.intern(s), dummyFn); silence(ret, p); return ret; }
private static final class DefaultComparator implements Comparator, Serializable { public int compare(Object o1, Object o2){ return Util.compare(o1, o2); } private Object readResolve() throws ObjectStreamException { // ensures that we aren't hanging onto a new default comparator for every // sorted set, etc., we deserialize return DEFAULT_COMPARATOR; } }
public static void main(String[] args) { Symbol CLOJURE_MAIN = Symbol.intern("clojure.main"); Var REQUIRE = RT.var("clojure.core", "require"); Var MAIN = RT.var("clojure.main", "main"); try { REQUIRE.invoke(CLOJURE_MAIN); MAIN.applyTo(RT.seq(new String[]{})); } catch(Exception e) { e.printStackTrace(); } } }
public static void main (String[] args) throws Exception { RT.var("clojure.core", "require").invoke(Symbol.intern("clojure.tools.nrepl.cmdline")); RT.var("clojure.tools.nrepl.cmdline", "-main").applyTo(RT.seq(args)); } }