aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/aggcat.spad.pamphlet14
-rw-r--r--src/algebra/list.spad.pamphlet7
2 files changed, 14 insertions, 7 deletions
diff --git a/src/algebra/aggcat.spad.pamphlet b/src/algebra/aggcat.spad.pamphlet
index 2dd2fc74..512bf628 100644
--- a/src/algebra/aggcat.spad.pamphlet
+++ b/src/algebra/aggcat.spad.pamphlet
@@ -1662,6 +1662,13 @@ UnaryRecursiveAggregate(S:Type): Category == RecursiveAggregate S with
setrest!(x, empty())
y
+ map!(f,x) ==
+ y := x
+ while not empty? y repeat
+ setfirst!(y,f first y)
+ y := rest y
+ x
+
@
\section{category STAGG StreamAggregate}
@@ -1735,13 +1742,6 @@ StreamAggregate(S:Type): Category ==
empty? l => empty()
concat!(copy first l, concat rest l)
- map!(f, l) ==
- y := l
- while not empty? l repeat
- setfirst!(l, f first l)
- l := rest l
- y
-
fill!(x, s) ==
y := x
while not empty? y repeat (setfirst!(y, s); y := rest y)
diff --git a/src/algebra/list.spad.pamphlet b/src/algebra/list.spad.pamphlet
index 6ceb30fa..2bf3a01d 100644
--- a/src/algebra/list.spad.pamphlet
+++ b/src/algebra/list.spad.pamphlet
@@ -253,6 +253,13 @@ List(S:Type): Exports == Implementation where
convert concat(convert('construct)@InputForm,
[convert a for a in (x pretend List S)]$List(InputForm))
+ map!(f,x) ==
+ y := x
+ while not empty? y repeat
+ y.first := f(y.first)
+ y := rest y
+ x
+
@
\section{package LIST2 ListFunctions2}