aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/list.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/list.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/list.spad.pamphlet')
-rw-r--r--src/algebra/list.spad.pamphlet25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/algebra/list.spad.pamphlet b/src/algebra/list.spad.pamphlet
index 89d79936..c67f91c1 100644
--- a/src/algebra/list.spad.pamphlet
+++ b/src/algebra/list.spad.pamphlet
@@ -55,16 +55,17 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where
Exports ==> ListAggregate S
Implementation ==>
add
- import %nil: % from Foreign Builtin
- import %makepair: (S,%) -> % from Foreign Builtin
- import %peq: (%,%) -> Boolean from Foreign Builtin
- import %lempty?: % -> Boolean from Foreign Builtin
- import %head: % -> S from Foreign Builtin
- import %tail: % -> % from Foreign Builtin
- import %lreverse: % -> % from Foreign Builtin
- import %lreverse!: % -> % from Foreign Builtin
+ import %nil: % from Foreign Builtin
+ import %makepair: (S,%) -> % from Foreign Builtin
+ import %peq: (%,%) -> Boolean from Foreign Builtin
+ import %lempty?: % -> Boolean from Foreign Builtin
+ import %head: % -> S from Foreign Builtin
+ import %tail: % -> % from Foreign Builtin
+ import %lreverse: % -> % from Foreign Builtin
+ import %lreverse!: % -> % from Foreign Builtin
+ import %llength: % -> NonNegativeInteger from Foreign Builtin
- #x == LENGTH(x)$Lisp
+ #x == %llength x
concat(s:S,x:%) == %makepair(s,x)
eq?(x,y) == %peq(x,y)
first x == SPADfirst(x)$Lisp
@@ -87,8 +88,8 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where
%tail RPLACD(x,y)$Lisp
construct l == l pretend %
parts s == s pretend List S
- reverse! x == NREVERSE(x)$Lisp
- reverse x == REVERSE(x)$Lisp
+ reverse! x == %lreverse! x
+ reverse x == %lreverse x
minIndex x == mn
rest(x, n) ==
@@ -103,7 +104,7 @@ IndexedList(S:Type, mn:Integer): Exports == Implementation where
if i = cycleMax and cyclic? x then error "cyclic list"
y := %makepair(%head x,y)
x := %tail x
- (NREVERSE(y)$Lisp)@%
+ %lreverse! y
if S has CoercibleTo(OutputForm) then
coerce(x):OutputForm ==