summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2007-09-06 18:56:43 +0000
committerRich Hickey <richhickey@gmail.com>2007-09-06 18:56:43 +0000
commit83a708fcac4cb37ed91ad4d32d70e54041b41dec (patch)
treefb82f3d1206ccd7238ab8ba36a5f3d6f8af66bbc /src
parent79420ec6999df1a4471f10116e724ca10267f861 (diff)
switched null to nil
Diffstat (limited to 'src')
-rw-r--r--src/boot.clj14
-rw-r--r--src/jvm/clojure/lang/BytecodeCompiler.java2
-rw-r--r--src/jvm/clojure/lang/LispReader.java6
-rw-r--r--src/jvm/clojure/lang/RT.java2
4 files changed, 12 insertions, 12 deletions
diff --git a/src/boot.clj b/src/boot.clj
index 623d9664..dc659c92 100644
--- a/src/boot.clj
+++ b/src/boot.clj
@@ -17,7 +17,7 @@
(list 'if test (cons 'do body)))
(defmacro when-not [test & body]
- (list 'if test null (cons 'do body)))
+ (list 'if test nil (cons 'do body)))
(def t (. RT T))
@@ -26,9 +26,9 @@
([& args]
(. clojure.lang.PersistentVector (create args))))
-(defn null? [x] (if x null t))
+(defn nil? [x] (if x nil t))
-(defn not [x] (if x null t))
+(defn not [x] (nil? x))
(defn first [x] (. RT (first x)))
@@ -36,7 +36,7 @@
(defn second [x] (. RT (second x)))
-(defn eql [x y] (. RT (equal x y)))
+(defn eql? [x y] (. RT (equal x y)))
(defn strcat [x y] (. x (concat y)))
@@ -58,7 +58,7 @@
([x & rest] (list 'if x (cons 'and rest))))
(defmacro or
- ([] null)
+ ([] nil)
([x] x)
([x & rest]
(let [gor (gensym "or__")]
@@ -69,8 +69,8 @@
([f & args]
(let [spread (fn [arglist]
(cond
- (null? arglist) null
- (null? (rest arglist)) (first arglist)
+ (nil? arglist) nil
+ (nil? (rest arglist)) (first arglist)
:else (cons (first arglist) (thisfn (rest arglist)))))]
(. f (applyTo (spread args))))))
diff --git a/src/jvm/clojure/lang/BytecodeCompiler.java b/src/jvm/clojure/lang/BytecodeCompiler.java
index c8779ea0..61a8a5ad 100644
--- a/src/jvm/clojure/lang/BytecodeCompiler.java
+++ b/src/jvm/clojure/lang/BytecodeCompiler.java
@@ -890,7 +890,7 @@ static class InvokeExpr implements Expr{
PersistentVector argvs = PersistentVector.EMPTY;
for(int i = 0; i < args.count(); i++)
argvs = argvs.cons(((Expr) args.nth(i)).eval());
- return fn.applyTo(RT.seq(argvs));
+ return Reflector.prepRet(fn.applyTo(RT.seq(argvs)));
}
public void emit(C context, FnExpr fn, GeneratorAdapter gen){
diff --git a/src/jvm/clojure/lang/LispReader.java b/src/jvm/clojure/lang/LispReader.java
index add1b67b..d93366f6 100644
--- a/src/jvm/clojure/lang/LispReader.java
+++ b/src/jvm/clojure/lang/LispReader.java
@@ -30,7 +30,7 @@ static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^:/]][^:/]*/)?[\\D&&[^:/
static Pattern intPat = Pattern.compile("[-+]?[0-9]+\\.?");
static Pattern ratioPat = Pattern.compile("([-+]?[0-9]+)/([0-9]+)");
static Pattern floatPat = Pattern.compile("[-+]?[0-9]+(\\.[0-9]+)?([eE][-+]?[0-9]+)?");
-
+static final Symbol SLASH = Symbol.create("/");
//static Pattern accessorPat = Pattern.compile("\\.[a-zA-Z_]\\w*");
//static Pattern instanceMemberPat = Pattern.compile("\\.([a-zA-Z_][\\w\\.]*)\\.([a-zA-Z_]\\w*)");
//static Pattern staticMemberPat = Pattern.compile("([a-zA-Z_][\\w\\.]*)\\.([a-zA-Z_]\\w*)");
@@ -223,14 +223,14 @@ static private Object readMember(PushbackReader r) throws Exception {
*/
static private Object interpretToken(String s) throws Exception{
- if(s.equals("null"))
+ if(s.equals("nil"))
{
return null;
}
else if(s.equals("/"))
{
- return Symbol.create("/");
+ return SLASH;
}
Object ret = null;
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index 9727c56d..0fd64fe1 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -595,7 +595,7 @@ static public void print(Object x, Writer w) throws Exception{
}
}
if(x == null)
- w.write("null");
+ w.write("nil");
else if(x instanceof ISeq)
{
w.write('(');