summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2006-08-05 15:18:43 +0000
committerRich Hickey <richhickey@gmail.com>2006-08-05 15:18:43 +0000
commitdb58898d1d44d8025208bb5f0b2c4a493a5cdb43 (patch)
treecad6d19295174af8a5e43f8f8c9b222232123965
parentcfbe0fe8a1adaf7b16f37d92545c89230256221d (diff)
renamed remove, add
-rw-r--r--src/cli/runtime/APersistentMap.cs4
-rw-r--r--src/cli/runtime/IArray.cs2
-rw-r--r--src/cli/runtime/IPersistentMap.cs4
-rw-r--r--src/cli/runtime/MapEntry.cs4
-rw-r--r--src/cli/runtime/PersistentArrayMap.cs6
-rw-r--r--src/cli/runtime/PersistentHashtableMap.cs10
-rw-r--r--src/cli/runtime/PersistentListMap.cs16
-rw-r--r--src/cli/runtime/PersistentTreeMap.cs4
-rw-r--r--src/cli/runtime/TObj.cs2
-rw-r--r--src/cli/runtime/Var.cs2
-rw-r--r--src/jvm/clojure/lang/IArray.java2
-rw-r--r--src/jvm/clojure/lang/IPersistentMap.java4
-rw-r--r--src/jvm/clojure/lang/MapEntry.java4
-rw-r--r--src/jvm/clojure/lang/PersistentArrayMap.java6
-rw-r--r--src/jvm/clojure/lang/PersistentHashtableMap.java10
-rw-r--r--src/jvm/clojure/lang/PersistentListMap.java16
-rw-r--r--src/jvm/clojure/lang/PersistentTreeMap.java8
-rw-r--r--src/jvm/clojure/lang/TObj.java2
-rw-r--r--src/jvm/clojure/lang/Var.java2
19 files changed, 54 insertions, 54 deletions
diff --git a/src/cli/runtime/APersistentMap.cs b/src/cli/runtime/APersistentMap.cs
index 9a9170d5..5b560036 100644
--- a/src/cli/runtime/APersistentMap.cs
+++ b/src/cli/runtime/APersistentMap.cs
@@ -28,10 +28,10 @@ public abstract class APersistentMap : Obj, IPersistentMap{
#region IPersistentMap Members
- abstract public IPersistentMap add(object key, object val);
+ abstract public IPersistentMap assocEx(object key, object val);
- abstract public IPersistentMap remove(object key);
+ abstract public IPersistentMap without(object key);
diff --git a/src/cli/runtime/IArray.cs b/src/cli/runtime/IArray.cs
index 736d1679..09e1bbe6 100644
--- a/src/cli/runtime/IArray.cs
+++ b/src/cli/runtime/IArray.cs
@@ -13,7 +13,7 @@ using System;
namespace clojure.lang
{
-public interface IArray : IPersistentCollection, Associative {
+public interface IArray : IPersistentCollection, Associative, Sequential {
int length();
Object nth(int i);
diff --git a/src/cli/runtime/IPersistentMap.cs b/src/cli/runtime/IPersistentMap.cs
index d9d3991a..055746ce 100644
--- a/src/cli/runtime/IPersistentMap.cs
+++ b/src/cli/runtime/IPersistentMap.cs
@@ -17,9 +17,9 @@ namespace clojure.lang
public interface IPersistentMap : Associative, IEnumerable, IPersistentCollection{
-IPersistentMap add(Object key, Object val);
+IPersistentMap assocEx(Object key, Object val);
-IPersistentMap remove(Object key);
+IPersistentMap without(Object key);
}
diff --git a/src/cli/runtime/MapEntry.cs b/src/cli/runtime/MapEntry.cs
index 0e86f56a..13051107 100644
--- a/src/cli/runtime/MapEntry.cs
+++ b/src/cli/runtime/MapEntry.cs
@@ -52,13 +52,13 @@ override public Object get(Object key) {
return RT.equal(_key, key)?_val:null;
}
-override public IPersistentMap add(Object key, Object val) {
+override public IPersistentMap assocEx(Object key, Object val) {
if(RT.equal(_key, key))
throw new Exception("Key already present");
return assoc(key, val);
}
-override public IPersistentMap remove(Object key) {
+override public IPersistentMap without(Object key) {
if(RT.equal(_key, key))
return (IPersistentMap) PersistentArrayMap.EMPTY.withMeta(_meta);
return this;
diff --git a/src/cli/runtime/PersistentArrayMap.cs b/src/cli/runtime/PersistentArrayMap.cs
index ebea6ebd..4e27ad16 100644
--- a/src/cli/runtime/PersistentArrayMap.cs
+++ b/src/cli/runtime/PersistentArrayMap.cs
@@ -78,7 +78,7 @@ public IMapEntry find(Object key) {
return null;
}
-public IPersistentMap add(Object key, Object val) {
+public IPersistentMap assocEx(Object key, Object val) {
int i = indexOf(key);
Object[] newArray;
if(i >= 0)
@@ -88,7 +88,7 @@ public IPersistentMap add(Object key, Object val) {
else //didn't have key, grow
{
if (array.Length > HASHTABLE_THRESHOLD)
- return createHT(array).add(key, val);
+ return createHT(array).assocEx(key, val);
newArray = new Object[array.Length + 2];
if(array.Length > 0)
Array.Copy(array,0,newArray,2,array.Length);
@@ -121,7 +121,7 @@ public IPersistentMap assoc(Object key, Object val) {
return create(newArray);
}
-public IPersistentMap remove(Object key) {
+public IPersistentMap without(Object key) {
int i = indexOf(key);
if(i >= 0) //have key, will remove
{
diff --git a/src/cli/runtime/PersistentHashtableMap.cs b/src/cli/runtime/PersistentHashtableMap.cs
index 7d765aca..a833fa4c 100644
--- a/src/cli/runtime/PersistentHashtableMap.cs
+++ b/src/cli/runtime/PersistentHashtableMap.cs
@@ -89,9 +89,9 @@ public IMapEntry find(Object key) {
return null;
}
-public IPersistentMap add(Object key, Object val) {
+public IPersistentMap assocEx(Object key, Object val) {
if(_count > growAtCount)
- return grow().add(key, val);
+ return grow().assocEx(key, val);
int i = bucketFor(key,array);
int incr = 1;
PersistentArray newArray = doAdd(i, key, val, array);
@@ -132,19 +132,19 @@ PersistentArray doAdd(int i,Object key,Object val,PersistentArray array) {
IPersistentMap newEntries;
if (entries != null)
{
- newEntries = entries.add(key, val);
+ newEntries = entries.assocEx(key, val);
}
else
newEntries = createListMap(key, val);
return (PersistentArray)array.assocN(i, newEntries);
}
-public IPersistentMap remove(Object key) {
+public IPersistentMap without(Object key) {
int i = bucketFor(key,array);
IPersistentMap entries = (IPersistentMap) array.nth(i);
if (entries != null)
{
- IPersistentMap newEntries = entries.remove(key);
+ IPersistentMap newEntries = entries.without(key);
if (newEntries != entries)
return create(_count - 1, (PersistentArray)array.assocN(i, newEntries));
}
diff --git a/src/cli/runtime/PersistentListMap.cs b/src/cli/runtime/PersistentListMap.cs
index d86bdab8..948a70c4 100644
--- a/src/cli/runtime/PersistentListMap.cs
+++ b/src/cli/runtime/PersistentListMap.cs
@@ -67,7 +67,7 @@ public virtual IMapEntry find(Object key){
return null;
}
-public virtual IPersistentMap add(Object key, Object val){
+public virtual IPersistentMap assocEx(Object key, Object val){
return assoc(key, val);
}
@@ -75,7 +75,7 @@ public virtual IPersistentMap assoc(Object key, Object val){
return new Tail(key, val, _meta);
}
-public virtual IPersistentMap remove(Object key){
+public virtual IPersistentMap without(Object key){
return this;
}
@@ -193,7 +193,7 @@ internal class Tail : PersistentListMap {
return null;
}
- override public IPersistentMap add(Object key, Object val)
+ override public IPersistentMap assocEx(Object key, Object val)
{
if (equalKey(key, _key))
{
@@ -213,7 +213,7 @@ internal class Tail : PersistentListMap {
return new Link(key,val,this,_meta);
}
- override public IPersistentMap remove(Object key){
+ override public IPersistentMap without(Object key){
if(equalKey(key,_key))
{
if(_meta == null)
@@ -279,7 +279,7 @@ internal class Link : PersistentListMap {
return _rest.find(key);
}
- override public IPersistentMap add(Object key, Object val)
+ override public IPersistentMap assocEx(Object key, Object val)
{
IMapEntry e = find(key);
if(e != null)
@@ -296,12 +296,12 @@ internal class Link : PersistentListMap {
{
if(e.val() == val)
return this;
- return create(_key,_val,remove(key));
+ return create(_key,_val,without(key));
}
return new Link(key,val,this,_meta);
}
- override public IPersistentMap remove(Object key)
+ override public IPersistentMap without(Object key)
{
if(equalKey(key,_key))
{
@@ -309,7 +309,7 @@ internal class Link : PersistentListMap {
return _rest;
return (IPersistentMap)_rest.withMeta(_meta);
}
- PersistentListMap r = (PersistentListMap)_rest.remove(key);
+ PersistentListMap r = (PersistentListMap)_rest.without(key);
if(r == _rest) //not there
return this;
return create(_key,_val,r);
diff --git a/src/cli/runtime/PersistentTreeMap.cs b/src/cli/runtime/PersistentTreeMap.cs
index 44f76f45..f82e59b2 100644
--- a/src/cli/runtime/PersistentTreeMap.cs
+++ b/src/cli/runtime/PersistentTreeMap.cs
@@ -59,7 +59,7 @@ public bool contains(Object key){
return find(key) != null;
}
-public IPersistentMap add(Object key,Object val){
+public IPersistentMap assocEx(Object key,Object val){
Box found = new Box(null);
Node t = add(tree, key, val, found);
if(t == null) //null == already contains key
@@ -83,7 +83,7 @@ public IPersistentMap assoc(Object key, Object val){
}
-public IPersistentMap remove(Object key){
+public IPersistentMap without(Object key){
Box found = new Box(null);
Node t = remove(tree, key, found);
if(t == null)
diff --git a/src/cli/runtime/TObj.cs b/src/cli/runtime/TObj.cs
index 1f98cd1a..a81fb4ef 100644
--- a/src/cli/runtime/TObj.cs
+++ b/src/cli/runtime/TObj.cs
@@ -44,7 +44,7 @@ public IPersistentMap attrs() {
public void removeAttr(Object key) {
IPersistentMap t = (IPersistentMap) Transaction.get( _attrs);
- t = t.remove(key);
+ t = t.without(key);
Transaction.set(_attrs,t);
}
}
diff --git a/src/cli/runtime/Var.cs b/src/cli/runtime/Var.cs
index 748f60ad..13d10034 100644
--- a/src/cli/runtime/Var.cs
+++ b/src/cli/runtime/Var.cs
@@ -47,7 +47,7 @@ Binding getThreadBinding() {
{
tb = threadBindings;
if (b == null)
- newtb = tb.remove(thread);
+ newtb = tb.without(thread);
else
newtb = tb.assoc(thread, b);
} while (tb != Interlocked.CompareExchange(ref threadBindings, newtb, tb));
diff --git a/src/jvm/clojure/lang/IArray.java b/src/jvm/clojure/lang/IArray.java
index b2520a4a..c54b109f 100644
--- a/src/jvm/clojure/lang/IArray.java
+++ b/src/jvm/clojure/lang/IArray.java
@@ -10,7 +10,7 @@ package clojure.lang;
* You must not remove this notice, or any other, from this software.
*/
-public interface IArray extends IPersistentCollection, Associative {
+public interface IArray extends IPersistentCollection, Associative, Sequential {
int length();
Object nth(int i);
diff --git a/src/jvm/clojure/lang/IPersistentMap.java b/src/jvm/clojure/lang/IPersistentMap.java
index 3670817f..0ada98dc 100644
--- a/src/jvm/clojure/lang/IPersistentMap.java
+++ b/src/jvm/clojure/lang/IPersistentMap.java
@@ -14,7 +14,7 @@ package clojure.lang;
public interface IPersistentMap extends Iterable, IPersistentCollection, Associative {
-IPersistentMap add(Object key, Object val) throws Exception;
+IPersistentMap assocEx(Object key, Object val) throws Exception;
-IPersistentMap remove(Object key);
+IPersistentMap without(Object key);
}
diff --git a/src/jvm/clojure/lang/MapEntry.java b/src/jvm/clojure/lang/MapEntry.java
index 4a2f1a29..55aaf1df 100644
--- a/src/jvm/clojure/lang/MapEntry.java
+++ b/src/jvm/clojure/lang/MapEntry.java
@@ -51,13 +51,13 @@ public Object get(Object key) {
return RT.equal(_key, key)?_val:null;
}
-public IPersistentMap add(Object key, Object val) throws Exception {
+public IPersistentMap assocEx(Object key, Object val) throws Exception {
if(RT.equal(_key, key))
throw new Exception("Key already present");
return assoc(key, val);
}
-public IPersistentMap remove(Object key) {
+public IPersistentMap without(Object key) {
if(RT.equal(_key, key))
return (IPersistentMap) PersistentArrayMap.EMPTY.withMeta(_meta);
return this;
diff --git a/src/jvm/clojure/lang/PersistentArrayMap.java b/src/jvm/clojure/lang/PersistentArrayMap.java
index 1872dfed..8e1afb14 100644
--- a/src/jvm/clojure/lang/PersistentArrayMap.java
+++ b/src/jvm/clojure/lang/PersistentArrayMap.java
@@ -81,7 +81,7 @@ public IMapEntry find(Object key) {
return null;
}
-public IPersistentMap add(Object key, Object val) throws Exception {
+public IPersistentMap assocEx(Object key, Object val) throws Exception {
int i = indexOf(key);
Object[] newArray;
if(i >= 0)
@@ -91,7 +91,7 @@ public IPersistentMap add(Object key, Object val) throws Exception {
else //didn't have key, grow
{
if(array.length > HASHTABLE_THRESHOLD)
- return createHT(array).add(key, val);
+ return createHT(array).assocEx(key, val);
newArray = new Object[array.length + 2];
if(array.length > 0)
System.arraycopy(array,0,newArray,2,array.length);
@@ -124,7 +124,7 @@ public IPersistentMap assoc(Object key, Object val) {
return create(newArray);
}
-public IPersistentMap remove(Object key) {
+public IPersistentMap without(Object key) {
int i = indexOf(key);
if(i >= 0) //have key, will remove
{
diff --git a/src/jvm/clojure/lang/PersistentHashtableMap.java b/src/jvm/clojure/lang/PersistentHashtableMap.java
index 1cebbec0..215f7b81 100644
--- a/src/jvm/clojure/lang/PersistentHashtableMap.java
+++ b/src/jvm/clojure/lang/PersistentHashtableMap.java
@@ -86,9 +86,9 @@ public IMapEntry find(Object key) {
return null;
}
-public IPersistentMap add(Object key, Object val) throws Exception {
+public IPersistentMap assocEx(Object key, Object val) throws Exception {
if(_count > growAtCount)
- return grow().add(key, val);
+ return grow().assocEx(key, val);
int i = bucketFor(key,array);
int incr = 1;
PersistentArray newArray = doAdd(i, key, val, array);
@@ -128,7 +128,7 @@ PersistentArray doAdd(int i,Object key,Object val,PersistentArray array) throws
IPersistentMap newEntries;
if (entries != null)
{
- newEntries = entries.add(key, val);
+ newEntries = entries.assocEx(key, val);
}
else
newEntries = createListMap(key, val);
@@ -136,12 +136,12 @@ PersistentArray doAdd(int i,Object key,Object val,PersistentArray array) throws
return array.assocN(i, newEntries);
}
-public IPersistentMap remove(Object key) {
+public IPersistentMap without(Object key) {
int i = bucketFor(key,array);
IPersistentMap entries = (IPersistentMap) array.nth(i);
if (entries != null)
{
- IPersistentMap newEntries = entries.remove(key);
+ IPersistentMap newEntries = entries.without(key);
if (newEntries != entries)
return create(_count - 1, array.assocN(i, newEntries));
}
diff --git a/src/jvm/clojure/lang/PersistentListMap.java b/src/jvm/clojure/lang/PersistentListMap.java
index c23426fd..86ee24ca 100644
--- a/src/jvm/clojure/lang/PersistentListMap.java
+++ b/src/jvm/clojure/lang/PersistentListMap.java
@@ -71,7 +71,7 @@ public IMapEntry find(Object key){
return null;
}
-public IPersistentMap add(Object key, Object val) throws Exception {
+public IPersistentMap assocEx(Object key, Object val) throws Exception {
return assoc(key, val);
}
@@ -79,7 +79,7 @@ public PersistentListMap assoc(Object key, Object val) {
return new Tail(key, val,_meta);
}
-public PersistentListMap remove(Object key) {
+public PersistentListMap without(Object key) {
return this;
}
@@ -176,7 +176,7 @@ static class Tail extends PersistentListMap {
return null;
}
- public PersistentListMap add(Object key, Object val) throws Exception {
+ public PersistentListMap assocEx(Object key, Object val) throws Exception {
if(equalKey(key,_key)) //replace
{
throw new Exception("Key already present");
@@ -194,7 +194,7 @@ static class Tail extends PersistentListMap {
return new Link(key,val,this,_meta);
}
- public PersistentListMap remove(Object key) {
+ public PersistentListMap without(Object key) {
if(equalKey(key,_key))
{
if(_meta == null)
@@ -258,7 +258,7 @@ static class Link extends PersistentListMap {
return _rest.find(key);
}
- public PersistentListMap add(Object key, Object val) throws Exception {
+ public PersistentListMap assocEx(Object key, Object val) throws Exception {
IMapEntry e = find(key);
if(e != null)
{
@@ -273,19 +273,19 @@ static class Link extends PersistentListMap {
{
if(e.val() == val)
return this;
- return create(_key,_val,remove(key));
+ return create(_key,_val,without(key));
}
return new Link(key,val,this,_meta);
}
- public PersistentListMap remove(Object key) {
+ public PersistentListMap without(Object key) {
if(equalKey(key,_key))
{
if(_rest._meta == _meta)
return _rest;
return (PersistentListMap) _rest.withMeta(_meta);
}
- PersistentListMap r = _rest.remove(key);
+ PersistentListMap r = _rest.without(key);
if(r == _rest) //not there
return this;
return create(_key,_val,r);
diff --git a/src/jvm/clojure/lang/PersistentTreeMap.java b/src/jvm/clojure/lang/PersistentTreeMap.java
index 24ca59fa..311ed7a4 100644
--- a/src/jvm/clojure/lang/PersistentTreeMap.java
+++ b/src/jvm/clojure/lang/PersistentTreeMap.java
@@ -54,7 +54,7 @@ public boolean contains(Object key){
return find(key) != null;
}
-public PersistentTreeMap add(Object key, Object val) throws Exception {
+public PersistentTreeMap assocEx(Object key, Object val) throws Exception {
Box found = new Box(null);
Node t = add(tree, key, val, found);
if(t == null) //null == already contains key
@@ -78,7 +78,7 @@ public PersistentTreeMap assoc(Object key, Object val){
}
-public PersistentTreeMap remove(Object key){
+public PersistentTreeMap without(Object key){
Box found = new Box(null);
Node t = remove(tree, key, found);
if(t == null)
@@ -748,7 +748,7 @@ static public void main(String args[]){
Collections.shuffle(Arrays.asList(ints));
//force the ListMap class loading now
try {
- PersistentListMap.EMPTY.add(1, null).add(2,null).add(3,null);
+ PersistentListMap.EMPTY.assocEx(1, null).assocEx(2,null).assocEx(3,null);
} catch (Exception e)
{
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
@@ -788,7 +788,7 @@ static public void main(String args[]){
for(int i = 0; i < ints.length/2; i++)
{
Integer anInt = ints[i];
- set = set.remove(anInt);
+ set = set.without(anInt);
}
long estimatedTime = System.nanoTime() - startTime;
diff --git a/src/jvm/clojure/lang/TObj.java b/src/jvm/clojure/lang/TObj.java
index 53050e6b..50c9337e 100644
--- a/src/jvm/clojure/lang/TObj.java
+++ b/src/jvm/clojure/lang/TObj.java
@@ -41,7 +41,7 @@ public IPersistentMap attrs() throws Exception {
public void removeAttr(Object key) throws Exception {
IPersistentMap t = (IPersistentMap) Transaction.get( _attrs);
- t = t.remove(key);
+ t = t.without(key);
Transaction.set(_attrs,t);
}
}
diff --git a/src/jvm/clojure/lang/Var.java b/src/jvm/clojure/lang/Var.java
index 627e59f8..55e470e0 100644
--- a/src/jvm/clojure/lang/Var.java
+++ b/src/jvm/clojure/lang/Var.java
@@ -96,7 +96,7 @@ private void setThreadBinding(Binding b) {
{
tb = threadBindings.get();
if (b == null)
- newtb = tb.remove(thread);
+ newtb = tb.without(thread);
else
newtb = tb.assoc(thread, b);
} while (!threadBindings.compareAndSet(tb, newtb));