diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-02-03 14:24:29 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-02-03 14:24:29 +0000 |
commit | 443ebe584bd0b48b601f3991e392b2d1d29a26fc (patch) | |
tree | 110492ade65b0b09d624761a13b23a241b1aedb6 | |
parent | 096500d721751dff456f67c1a6b9f2c2caa66b5f (diff) |
[lazy] more returns Sequence
-rw-r--r-- | src/jvm/clojure/lang/ASeq.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Cons.java | 8 | ||||
-rw-r--r-- | src/jvm/clojure/lang/ISeq.java | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/LazySeq.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 6 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Sequence.java | 2 |
6 files changed, 12 insertions, 12 deletions
diff --git a/src/jvm/clojure/lang/ASeq.java b/src/jvm/clojure/lang/ASeq.java index 29cc61d4..31faa021 100644 --- a/src/jvm/clojure/lang/ASeq.java +++ b/src/jvm/clojure/lang/ASeq.java @@ -110,7 +110,7 @@ public ISeq cons(Object o){ return new Cons(o, this);
}
-public Seqable more(){
+public Sequence more(){
ISeq s = rest();
if(s == null)
return PersistentList.EMPTY;
diff --git a/src/jvm/clojure/lang/Cons.java b/src/jvm/clojure/lang/Cons.java index 3d2aef64..a7fb5c09 100644 --- a/src/jvm/clojure/lang/Cons.java +++ b/src/jvm/clojure/lang/Cons.java @@ -15,15 +15,15 @@ package clojure.lang; public class Cons extends ASeq{ private final Object _first; -private final Seqable _more; +private final Sequence _more; -public Cons(Object first, Seqable _more){ +public Cons(Object first, Sequence _more){ this._first = first; this._more = _more; } -public Cons(IPersistentMap meta, Object _first, Seqable _more){ +public Cons(IPersistentMap meta, Object _first, Sequence _more){ super(meta); this._first = _first; this._more = _more; @@ -37,7 +37,7 @@ public ISeq rest(){ return more().seq(); } -public Seqable more(){ +public Sequence more(){ if(_more == null) return PersistentList.EMPTY; return _more; diff --git a/src/jvm/clojure/lang/ISeq.java b/src/jvm/clojure/lang/ISeq.java index 2db905ef..e608bbf7 100644 --- a/src/jvm/clojure/lang/ISeq.java +++ b/src/jvm/clojure/lang/ISeq.java @@ -16,13 +16,13 @@ package clojure.lang; * ISeqs are immutable values, i.e. neither first(), nor rest() changes
* or invalidates the ISeq
*/
-public interface ISeq extends IPersistentCollection, Sequential, Sequence{
+public interface ISeq extends Sequence{
Object first();
ISeq rest();
-Seqable more();
+Sequence more();
ISeq cons(Object o);
diff --git a/src/jvm/clojure/lang/LazySeq.java b/src/jvm/clojure/lang/LazySeq.java index 7a796928..f06faed5 100644 --- a/src/jvm/clojure/lang/LazySeq.java +++ b/src/jvm/clojure/lang/LazySeq.java @@ -14,7 +14,7 @@ package clojure.lang; import java.util.*; -public class LazySeq extends AFn implements Seqable, IPersistentCollection, List, Sequential, Sequence { +public class LazySeq extends AFn implements List, Sequence { static final ISeq DUMMY = new Cons(null, null); private ISeq s = DUMMY; diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index 3a9b6c3b..ab7e7938 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -544,8 +544,8 @@ static public ISeq cons(Object x, Object coll){ //ISeq y = seq(coll); if(coll == null) return new PersistentList(x); - else if (coll instanceof Seqable) - return new Cons(x, (Seqable) coll); + else if (coll instanceof Sequence) + return new Cons(x, (Sequence) coll); else return new Cons(x, seq(coll)); } @@ -580,7 +580,7 @@ static public ISeq rest(Object x){ return seq.rest(); } -static public Seqable more(Object x){ +static public Sequence more(Object x){ if(x instanceof ISeq) return ((ISeq) x).more(); ISeq seq = seq(x); diff --git a/src/jvm/clojure/lang/Sequence.java b/src/jvm/clojure/lang/Sequence.java index 688cec53..cb6b38eb 100644 --- a/src/jvm/clojure/lang/Sequence.java +++ b/src/jvm/clojure/lang/Sequence.java @@ -12,5 +12,5 @@ package clojure.lang; -public interface Sequence { +public interface Sequence extends IPersistentCollection, Sequential{ } |