summaryrefslogtreecommitdiff
path: root/src/jvm
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2009-08-03 14:09:11 -0400
committerRich Hickey <richhickey@gmail.com>2009-08-03 14:09:11 -0400
commitad85b0e92aac9bb64fb0887ad1410d4e07dfc2ef (patch)
treecb6aebe82847613d38b52b481429c335a52bd6f9 /src/jvm
parent6bcc5e982720788d922184f19218d3f49e184524 (diff)
renamed mutable -> transient, immutable! -> persistent!
Diffstat (limited to 'src/jvm')
-rw-r--r--src/jvm/clojure/lang/IEditableCollection.java2
-rw-r--r--src/jvm/clojure/lang/ITransientAssociative.java (renamed from src/jvm/clojure/lang/IMutableAssociative.java)4
-rw-r--r--src/jvm/clojure/lang/ITransientCollection.java (renamed from src/jvm/clojure/lang/IMutableCollection.java)6
-rw-r--r--src/jvm/clojure/lang/ITransientVector.java (renamed from src/jvm/clojure/lang/IMutableVector.java)6
-rw-r--r--src/jvm/clojure/lang/PersistentVector.java32
5 files changed, 25 insertions, 25 deletions
diff --git a/src/jvm/clojure/lang/IEditableCollection.java b/src/jvm/clojure/lang/IEditableCollection.java
index be447958..63ccb53a 100644
--- a/src/jvm/clojure/lang/IEditableCollection.java
+++ b/src/jvm/clojure/lang/IEditableCollection.java
@@ -13,5 +13,5 @@
package clojure.lang;
public interface IEditableCollection{
-IMutableCollection mutable();
+ITransientCollection asTransient();
}
diff --git a/src/jvm/clojure/lang/IMutableAssociative.java b/src/jvm/clojure/lang/ITransientAssociative.java
index 1eef92c2..a4d2655a 100644
--- a/src/jvm/clojure/lang/IMutableAssociative.java
+++ b/src/jvm/clojure/lang/ITransientAssociative.java
@@ -12,7 +12,7 @@
package clojure.lang;
-public interface IMutableAssociative extends IMutableCollection, ILookup{
+public interface ITransientAssociative extends ITransientCollection, ILookup{
-IMutableAssociative assoc(Object key, Object val);
+ITransientAssociative assoc(Object key, Object val);
}
diff --git a/src/jvm/clojure/lang/IMutableCollection.java b/src/jvm/clojure/lang/ITransientCollection.java
index a41f1701..0079d33b 100644
--- a/src/jvm/clojure/lang/IMutableCollection.java
+++ b/src/jvm/clojure/lang/ITransientCollection.java
@@ -12,9 +12,9 @@
package clojure.lang;
-public interface IMutableCollection{
+public interface ITransientCollection{
-IMutableCollection conj(Object val);
+ITransientCollection conj(Object val);
-IPersistentCollection immutable();
+IPersistentCollection persistent();
}
diff --git a/src/jvm/clojure/lang/IMutableVector.java b/src/jvm/clojure/lang/ITransientVector.java
index 3deab315..6311754c 100644
--- a/src/jvm/clojure/lang/IMutableVector.java
+++ b/src/jvm/clojure/lang/ITransientVector.java
@@ -12,9 +12,9 @@
package clojure.lang;
-public interface IMutableVector extends IMutableAssociative, Indexed{
+public interface ITransientVector extends ITransientAssociative, Indexed{
-IMutableVector assocN(int i, Object val);
+ITransientVector assocN(int i, Object val);
-IMutableVector pop();
+ITransientVector pop();
}
diff --git a/src/jvm/clojure/lang/PersistentVector.java b/src/jvm/clojure/lang/PersistentVector.java
index 752bccf8..2d55e2e8 100644
--- a/src/jvm/clojure/lang/PersistentVector.java
+++ b/src/jvm/clojure/lang/PersistentVector.java
@@ -43,24 +43,24 @@ final Object[] tail;
public final static PersistentVector EMPTY = new PersistentVector(0, 5, EMPTY_NODE, new Object[]{});
static public PersistentVector create(ISeq items){
- MutableVector ret = EMPTY.mutable();
+ TransientVector ret = EMPTY.asTransient();
for(; items != null; items = items.next())
ret = ret.conj(items.first());
- return ret.immutable();
+ return ret.persistent();
}
static public PersistentVector create(List items){
- MutableVector ret = EMPTY.mutable();
+ TransientVector ret = EMPTY.asTransient();
for(Object item : items)
ret = ret.conj(item);
- return ret.immutable();
+ return ret.persistent();
}
static public PersistentVector create(Object... items){
- MutableVector ret = EMPTY.mutable();
+ TransientVector ret = EMPTY.asTransient();
for(Object item : items)
ret = ret.conj(item);
- return ret.immutable();
+ return ret.persistent();
}
PersistentVector(int cnt, int shift, Node root, Object[] tail){
@@ -80,8 +80,8 @@ PersistentVector(IPersistentMap meta, int cnt, int shift, Node root, Object[] ta
this.tail = tail;
}
-public MutableVector mutable(){
- return new MutableVector(this);
+public TransientVector asTransient(){
+ return new TransientVector(this);
}
final int tailoff(){
@@ -369,20 +369,20 @@ private Node popTail(int level, Node node){
}
}
-static final class MutableVector extends AFn implements IMutableVector, Counted{
+static final class TransientVector extends AFn implements ITransientVector, Counted{
int cnt;
int shift;
Node root;
Object[] tail;
- MutableVector(int cnt, int shift, Node root, Object[] tail){
+ TransientVector(int cnt, int shift, Node root, Object[] tail){
this.cnt = cnt;
this.shift = shift;
this.root = root;
this.tail = tail;
}
- MutableVector(PersistentVector v){
+ TransientVector(PersistentVector v){
this(v.cnt, v.shift, editableRoot(v.root), editableTail(v.tail));
}
@@ -413,7 +413,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{
return new Node(new AtomicReference<Thread>(Thread.currentThread()), node.array.clone());
}
- public PersistentVector immutable(){
+ public PersistentVector persistent(){
ensureEditable();
// Thread owner = root.edit.get();
// if(owner != null && owner != Thread.currentThread())
@@ -432,7 +432,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{
return ret;
}
- public MutableVector conj(Object val){
+ public TransientVector conj(Object val){
ensureEditable();
int i = cnt;
//room in tail?
@@ -536,7 +536,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{
return node[i & 0x01f];
}
- public MutableVector assocN(int i, Object val){
+ public TransientVector assocN(int i, Object val){
ensureEditable();
if(i >= 0 && i < cnt)
{
@@ -554,7 +554,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{
throw new IndexOutOfBoundsException();
}
- public MutableVector assoc(Object key, Object val){
+ public TransientVector assoc(Object key, Object val){
//note - relies on ensureEditable in assocN
if(Util.isInteger(key))
{
@@ -579,7 +579,7 @@ static final class MutableVector extends AFn implements IMutableVector, Counted{
return ret;
}
- public MutableVector pop(){
+ public TransientVector pop(){
ensureEditable();
if(cnt == 0)
throw new IllegalStateException("Can't pop empty vector");