diff options
author | dos-reis <gdr@axiomatics.org> | 2011-07-14 12:40:31 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-07-14 12:40:31 +0000 |
commit | 4a4bc97750020f7c31ca8b29fdc4a104f7825367 (patch) | |
tree | b6f37a94da2648ac1304d5275370a34f84d41fa3 /src | |
parent | 6d1f2b4e6a2a874bdda936fb17f20fee84649857 (diff) | |
download | open-axiom-4a4bc97750020f7c31ca8b29fdc4a104f7825367.tar.gz |
* boot/ast.boot (bfIS1): Tidy test for cons cells.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/boot/ast.boot | 1 | ||||
-rw-r--r-- | src/boot/strap/ast.clisp | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 62f08a88..a6e5f0a6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-07-14 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * boot/ast.boot (bfIS1): Tidy test for cons cells. + 2011-07-13 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/functor.boot (CategoryPrint): Move from category.boot. diff --git a/src/boot/ast.boot b/src/boot/ast.boot index 190fc926..1af82d64 100644 --- a/src/boot/ast.boot +++ b/src/boot/ast.boot @@ -677,6 +677,7 @@ bfIS1(lhs,rhs) == rhs is ['CONS,a,b] => a is "DOT" => b = nil => bfAND [['CONSP,lhs],['NULL,['CDR,lhs]]] + b is "DOT" => ['CONSP,lhs] bfAND [['CONSP,lhs],bfIS1(['CDR,lhs],b)] b = nil => bfAND [['CONSP,lhs],['NULL,['CDR,lhs]],bfIS1(['CAR,lhs],a)] diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp index 33bfc335..8a8a75d7 100644 --- a/src/boot/strap/ast.clisp +++ b/src/boot/strap/ast.clisp @@ -1083,6 +1083,7 @@ ((NULL |b|) (|bfAND| (LIST (LIST 'CONSP |lhs|) (LIST 'NULL (LIST 'CDR |lhs|))))) + ((EQ |b| 'DOT) (LIST 'CONSP |lhs|)) (T (|bfAND| (LIST (LIST 'CONSP |lhs|) (|bfIS1| (LIST 'CDR |lhs|) |b|)))))) ((NULL |b|) |