summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2006-06-03 15:02:15 +0000
committerRich Hickey <richhickey@gmail.com>2006-06-03 15:02:15 +0000
commitbe2df160b1e5c916174262bc411dffa081eded99 (patch)
tree205b58717b3fe69d62ba50bce68da5468929ed0c /src
parent0f70b780b29908ef7d5088907413f10530e89a2f (diff)
made RT.Iter support Iterables, removed iter from Cons, made RBTree Iterable
Diffstat (limited to 'src')
-rw-r--r--src/org/clojure/runtime/Cons.java4
-rw-r--r--src/org/clojure/runtime/RBTree.java2
-rw-r--r--src/org/clojure/runtime/RT.java3
3 files changed, 4 insertions, 5 deletions
diff --git a/src/org/clojure/runtime/Cons.java b/src/org/clojure/runtime/Cons.java
index a869b322..8cdd3bd9 100644
--- a/src/org/clojure/runtime/Cons.java
+++ b/src/org/clojure/runtime/Cons.java
@@ -33,8 +33,4 @@ public Iter iterate()
return rest;
}
-public Iter iter()
- {
- return this;
- }
}
diff --git a/src/org/clojure/runtime/RBTree.java b/src/org/clojure/runtime/RBTree.java
index 97313fcb..c43245cc 100644
--- a/src/org/clojure/runtime/RBTree.java
+++ b/src/org/clojure/runtime/RBTree.java
@@ -22,7 +22,7 @@ import java.util.*;
* See Okasaki, Kahrs, Larsen et al
*/
-public class RBTree{
+public class RBTree implements Iterable{
public final Comparator comp;
public final Node tree;
diff --git a/src/org/clojure/runtime/RT.java b/src/org/clojure/runtime/RT.java
index c10fcbf9..4298a4c9 100644
--- a/src/org/clojure/runtime/RT.java
+++ b/src/org/clojure/runtime/RT.java
@@ -73,6 +73,9 @@ static public Iter iter(Object coll)
return new IteratorIter(i);
return null;
}
+ else if(coll instanceof Iterable)
+ return new IteratorIter(((Iterable) coll).iterator());
+
else
throw new IllegalArgumentException("Don't know how to create Iter from arg");
}