diff options
author | dos-reis <gdr@axiomatics.org> | 2011-01-02 10:09:37 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-01-02 10:09:37 +0000 |
commit | 2b2ae9894f66dba65af62fb08b9d79b2aee2a2a8 (patch) | |
tree | a993fb841dbecc560c217651a8504f23ed526481 /src/algebra/list.spad.pamphlet | |
parent | b9a4e3cd1880e977a827a98b1cb69175e7ad1e74 (diff) | |
download | open-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.pamphlet | 25 |
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 == |