aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/indexedp.spad.pamphlet
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra/indexedp.spad.pamphlet')
-rw-r--r--src/algebra/indexedp.spad.pamphlet10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/algebra/indexedp.spad.pamphlet b/src/algebra/indexedp.spad.pamphlet
index 1b60ecc4..d17d342c 100644
--- a/src/algebra/indexedp.spad.pamphlet
+++ b/src/algebra/indexedp.spad.pamphlet
@@ -132,8 +132,11 @@ IndexedDirectProductAbelianMonoid(A:AbelianMonoid,S:OrderedType):
0 == nil$List(Term) pretend %
zero? x == null terms x
+ import %tail: List Term -> List Term from Foreign Builtin
+
qsetrest!: (List Term, List Term) -> List Term
- qsetrest!(l, e) == RPLACD(l, e)$Lisp
+ qsetrest!(l, e) ==
+ %store(%tail l,e)$Foreign(Builtin)
-- PERFORMANCE CRITICAL; Should build list up
-- by merging 2 sorted lists. Doing this will
@@ -285,8 +288,11 @@ IndexedDirectProductAbelianGroup(A:AbelianGroup,S:OrderedType):
[[termIndex u,a] for u in terms x
| not zero?(a := n * termValue u)] pretend %
+ import %tail: List Term -> List Term from Foreign Builtin
+
qsetrest!: (List Term, List Term) -> List Term
- qsetrest!(l, e) == RPLACD(l, e)$Lisp
+ qsetrest!(l, e) ==
+ %store(%tail l,e)$Foreign(Builtin)
x - y ==
x' := terms x