aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/boot/ast.boot51
-rw-r--r--src/boot/strap/ast.clisp4
2 files changed, 21 insertions, 34 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index adfa6b2e..feabffa6 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -622,7 +622,6 @@ bfLET2(lhs,rhs) ==
bfLET(lhs,rhs) ==
$letGenVarCounter : local := 1
--- $inbfLet : local := true
bfLET1(lhs,rhs)
addCARorCDR(acc,expr) ==
@@ -681,10 +680,7 @@ bfIS1(lhs,rhs) ==
IDENTP a => ['EQ,lhs,rhs]
["EQUAL",lhs,rhs]
rhs is ['L%T,c,d] =>
- l :=
- bfLET(c,lhs)
--- $inbfLet => bfLET1(c,lhs)
--- bfLET(c,lhs)
+ l := bfLET(c,lhs)
bfAND [bfIS1(lhs,d),bfMKPROGN [l,''T]]
rhs is ["EQUAL",a] =>
["EQUAL",lhs,a]
@@ -723,9 +719,8 @@ bfIS1(lhs,rhs) ==
bpTrap()
bfApplication(bfop, bfarg) ==
- if bfTupleP bfarg
- then cons(bfop,rest bfarg)
- else cons(bfop,[bfarg])
+ bfTupleP bfarg => [bfop,:rest bfarg]
+ [bfop,bfarg]
-- returns the meaning of x in the appropriate Boot dialect.
bfReName x==
@@ -915,23 +910,16 @@ shoePROG(v,b)==
[["PROG",v,:blist,["RETURN", blast]]]
shoeFluids x==
- if null x
- then nil
- else if IDENTP x and bfBeginsDollar x
- then [x]
- else
- if EQCAR(x,"QUOTE")
- then []
- else
- if atom x
- then nil
- else append(shoeFluids first x,shoeFluids rest x)
-shoeATOMs x==
- if null x
- then nil
- else if atom x
- then [x]
- else append(shoeATOMs first x,shoeATOMs rest x)
+ null x => nil
+ IDENTP x and bfBeginsDollar x => [x]
+ atom x => nil
+ EQCAR(x,"QUOTE") => nil
+ [:shoeFluids first x,:shoeFluids rest x]
+
+shoeATOMs x ==
+ null x => nil
+ atom x => [x]
+ [:shoeATOMs first x,:shoeATOMs rest x]
++ Return true if `x' is an identifier name that designates a
++ dynamic (e.g. Lisp special) variable.
@@ -991,12 +979,12 @@ bfTagged(a,b)==
["THE",b,a]
bfAssign(l,r)==
- if bfTupleP l then bfSetelt(second l,CDDR l ,r) else bfLET(l,r)
+ bfTupleP l => bfSetelt(second l,CDDR l ,r)
+ bfLET(l,r)
bfSetelt(e,l,r)==
- if null rest l
- then defSETELT(e,car l,r)
- else bfSetelt(bfElt(e,first l),rest l,r)
+ null rest l => defSETELT(e,first l,r)
+ bfSetelt(bfElt(e,first l),rest l,r)
bfElt(expr,sel)==
y:=SYMBOLP sel and GET(sel,"SHOESELFUNCTION")
@@ -1114,9 +1102,8 @@ bfMain(auxfn,op)==
bfNameOnly: %Thing -> %List
bfNameOnly x==
- if x="t"
- then ["T"]
- else [x]
+ x="t" => ["T"]
+ [x]
bfNameArgs: (%Thing,%Thing) -> %List
bfNameArgs (x,y)==
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp
index 79e2f582..9f3ee24c 100644
--- a/src/boot/strap/ast.clisp
+++ b/src/boot/strap/ast.clisp
@@ -1179,7 +1179,7 @@
(DEFUN |bfApplication| (|bfop| |bfarg|)
(COND
((|bfTupleP| |bfarg|) (CONS |bfop| (CDR |bfarg|)))
- ('T (CONS |bfop| (LIST |bfarg|)))))
+ ('T (LIST |bfop| |bfarg|))))
(DEFUN |bfReName| (|x|)
(PROG (|a|)
@@ -1618,8 +1618,8 @@
(COND
((NULL |x|) NIL)
((AND (IDENTP |x|) (|bfBeginsDollar| |x|)) (LIST |x|))
- ((EQCAR |x| 'QUOTE) NIL)
((ATOM |x|) NIL)
+ ((EQCAR |x| 'QUOTE) NIL)
('T (APPEND (|shoeFluids| (CAR |x|)) (|shoeFluids| (CDR |x|))))))
(DEFUN |shoeATOMs| (|x|)