diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-05-14 21:40:14 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-05-14 21:40:14 +0000 |
commit | 91fa51c1107526ad4c7ed141c8a6a3b275bbb0e2 (patch) | |
tree | 56e8e36c4079806741d09e202cd8b33d1891d1d8 /src/jvm | |
parent | bb881f6a8a89edf08e798316bfb293a18118d4d6 (diff) |
parallel.clj, interface to Fork/Join framework
Diffstat (limited to 'src/jvm')
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index fb46959e..eb11c5c4 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -203,7 +203,7 @@ static AtomicInteger id = new AtomicInteger(1); static final public DynamicClassLoader ROOT_CLASSLOADER = new DynamicClassLoader(); static public void addURL(Object url) throws Exception{ - URL u = (url instanceof String)?(new URL((String) url)):(URL)url; + URL u = (url instanceof String) ? (new URL((String) url)) : (URL) url; ROOT_CLASSLOADER.addURL(u); } @@ -285,11 +285,11 @@ static public void init() throws Exception{ } static void doInit() throws Exception{ - loadResourceScript(RT.class,"boot.clj"); - loadResourceScript(RT.class,"proxy.clj"); - loadResourceScript(RT.class,"zip.clj"); - loadResourceScript(RT.class,"xml.clj"); - loadResourceScript(RT.class,"set.clj"); + loadResourceScript(RT.class, "boot.clj"); + loadResourceScript(RT.class, "proxy.clj"); + loadResourceScript(RT.class, "zip.clj"); + loadResourceScript(RT.class, "xml.clj"); + loadResourceScript(RT.class, "set.clj"); Var.pushThreadBindings( RT.map(CURRENT_NS, CURRENT_NS.get(), @@ -303,7 +303,7 @@ static void doInit() throws Exception{ Var refer = var("clojure", "refer"); in_ns.invoke(USER); refer.invoke(CLOJURE); - loadResourceScript(RT.class,"user.clj"); + loadResourceScript(RT.class, "user.clj"); } finally { @@ -790,6 +790,25 @@ static public ISeq arrayToList(Object[] a) throws Exception{ return ret; } +static public Object[] toArray(Object coll) throws Exception{ + if(coll == null) + return EMPTY_ARRAY; + else if(coll instanceof Object[]) + return (Object[]) coll; + else if(coll instanceof Collection) + return ((Collection) coll).toArray(); + else if(coll instanceof String) + { + char[] chars = ((String) coll).toCharArray(); + Object[] ret = new Object[chars.length]; + for(int i = 0; i < chars.length; i++) + ret[i] = chars[i]; + return ret; + } + else + throw new Exception("Unable to convert: " + coll.getClass() + " to Object[]"); +} + static public Object[] seqToArray(ISeq seq){ int len = length(seq); Object[] ret = new Object[len]; |