summaryrefslogtreecommitdiff
path: root/src/jvm
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-05-14 21:40:14 +0000
committerRich Hickey <richhickey@gmail.com>2008-05-14 21:40:14 +0000
commit91fa51c1107526ad4c7ed141c8a6a3b275bbb0e2 (patch)
tree56e8e36c4079806741d09e202cd8b33d1891d1d8 /src/jvm
parentbb881f6a8a89edf08e798316bfb293a18118d4d6 (diff)
parallel.clj, interface to Fork/Join framework
Diffstat (limited to 'src/jvm')
-rw-r--r--src/jvm/clojure/lang/RT.java33
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];