diff options
author | Rich Hickey <richhickey@gmail.com> | 2007-09-06 18:56:43 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2007-09-06 18:56:43 +0000 |
commit | 83a708fcac4cb37ed91ad4d32d70e54041b41dec (patch) | |
tree | fb82f3d1206ccd7238ab8ba36a5f3d6f8af66bbc /src | |
parent | 79420ec6999df1a4471f10116e724ca10267f861 (diff) |
switched null to nil
Diffstat (limited to 'src')
-rw-r--r-- | src/boot.clj | 14 | ||||
-rw-r--r-- | src/jvm/clojure/lang/BytecodeCompiler.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/LispReader.java | 6 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 2 |
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('('); |