commit 3ccab2c059bebf5c26480765298385d3251adf17
parent 51119810287735eed44e00862f44abd87912d718
Author: tomas <tomas@logand.com>
Date: Sat, 10 Oct 2009 22:30:10 +0200
tidy up
Diffstat:
M | wl.java | | | 56 | ++++++++++++-------------------------------------------- |
1 file changed, 12 insertions(+), 44 deletions(-)
diff --git a/wl.java b/wl.java
@@ -331,33 +331,21 @@ class wl implements Runnable {
int n = 0;
if(Fa.isIsym()) { // (@ . P) | (L . P) | (NIL . P)
if(NIL != Fa) {
- if(At == Fa) {
- bind(Args, mkCons(NIL, mapcarEval(A)));
- n++;
- } else {
- bind(Fa, A);
- n++;
- }
+ if(At == Fa) {bind(Args, mkCons(NIL, mapcarEval(A))); n++;}
+ else {bind(Fa, A); n++;}
}
} else if(Fa.isCons()) { // ((L ...) . P)
while(Fa.isCons()) {
- Any X = Fa.car();
- Fa = Fa.cdr();
- bind(X, eval(A.car()));
+ bind(Fa.car(), eval(A.car()));
n++;
+ Fa = Fa.cdr();
A = A.cdr();
}
if(NIL != Fa) {
- if(At == Fa) { // ((L . @) . P)
- bind(Args, mkCons(NIL, mapcarEval(A)));
- n++;
- } else { // ((L . M) . P)
- bind(Fa, A);
- n++;
- }
+ if(At == Fa) {bind(Args, mkCons(NIL, mapcarEval(A))); n++;}
+ else {bind(Fa, A); n++;}
}
} else err(Fa, "Don't know how to bind");
-
Z = xrun(Fb);
unbind(n);
unframe();
@@ -404,36 +392,17 @@ class wl implements Runnable {
}
return Z;
}
- void bind(Any S, Any V) {
- dbg(" 1", Env.val());
- Env.val(mkCons(mkCons(S, S.val()), Env.val()));
- S.val(V);
- dbg(" 2", Env.val());
- }
- void bind(Any S) {
- dbg(" 1", Env.val());
- Env.val(mkCons(mkCons(S, S.val()), Env.val()));
- dbg(" 2", Env.val());
- }
+ void frame() {Env.val(mkCons(T, Env.val()));}
+ void bind(Any S) {Env.val(mkCons(mkCons(S, S.val()), Env.val()));}
+ void bind(Any S, Any V) {bind(S); S.val(V);}
void unbind() {
- dbg(" 3", Env.val());
Any E = Env.val();
Any X = E.car();
X.car().val(X.cdr());
Env.val(E.cdr());
- dbg(" 4", Env.val());
}
void unbind(int n) {for(int i = 0; i < n; i++) unbind();}
- void frame() {
- dbg("1", Env.val());
- Env.val(mkCons(T, Env.val()));
- dbg("2", Env.val());
- }
- void unframe() {
- dbg("3", Env.val());
- Env.val(Env.val().cdr());
- dbg("4", Env.val());
- }
+ void unframe() {Env.val(Env.val().cdr());}
void fn(String Nm, Fn F) {
Any Z = Sd.get(Nm);
@@ -727,10 +696,9 @@ class wl implements Runnable {
if(L.isCons()) { // (use (K ...) . P)
int n = 0;
while(L.isCons()) {
- Any K = L.car();
- L = L.cdr();
- bind(K);
+ bind(L.car());
n++;
+ L = L.cdr();
}
Z = xrun(I.cdr());
unbind(n);