aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/sex.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-01-02 10:09:37 +0000
committerdos-reis <gdr@axiomatics.org>2011-01-02 10:09:37 +0000
commit2b2ae9894f66dba65af62fb08b9d79b2aee2a2a8 (patch)
treea993fb841dbecc560c217651a8504f23ed526481 /src/algebra/sex.spad.pamphlet
parentb9a4e3cd1880e977a827a98b1cb69175e7ad1e74 (diff)
downloadopen-axiom-2b2ae9894f66dba65af62fb08b9d79b2aee2a2a8.tar.gz
* interp/nrunfast.boot (evalSlotDomain): Expand to VM forms before
value argument evaluation. (lazyMatch): Check for %llength too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %2bit and %2bool. * interp/g-util.boot: Expand them. * interp/define.boot (compJoin): Check for %llenght too. * algebra/boolean.spad.pamphlet: Tidy. * algebra/domain.spad.pamphlet: Likewise. * algebra/draw.spad.pamphlet: Likewise. * algebra/files.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise.
Diffstat (limited to 'src/algebra/sex.spad.pamphlet')
-rw-r--r--src/algebra/sex.spad.pamphlet6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/algebra/sex.spad.pamphlet b/src/algebra/sex.spad.pamphlet
index 2beef473..006bfcba 100644
--- a/src/algebra/sex.spad.pamphlet
+++ b/src/algebra/sex.spad.pamphlet
@@ -100,6 +100,8 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where
import %peq: (%,%) -> Boolean from Foreign Builtin
import %head: % -> % from Foreign Builtin
import %tail: % -> % from Foreign Builtin
+ import %llength: % -> Integer from Foreign Builtin
+ import %nil: % from Foreign Builtin
Rep := Expr
@@ -121,7 +123,7 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where
b1 = b2 == EQUAL(b1,b2)$Lisp
eq(b1, b2) == %peq(b1,b2)
- null? b == NULL(b)$Lisp
+ null? b == %peq(b,%nil)
atom? b == ATOM(b)$Lisp
pair? b == %pair? b
@@ -147,7 +149,7 @@ SExpressionOf(Str, Sym, Int, Flt, Expr): Decl == Body where
car b == %head b
cdr b == %tail b
- # b == LENGTH(b)$Lisp
+ # b == %llength b
elt(b:%, i:Integer) == destruct(b).i
elt(b:%, li:List Integer) ==
for i in li repeat b := destruct(b).i