aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/Makefile.am3
-rw-r--r--src/algebra/Makefile.in3
-rw-r--r--src/algebra/aggcat.spad.pamphlet20
-rw-r--r--src/algebra/exposed.lsp.pamphlet1
4 files changed, 25 insertions, 2 deletions
diff --git a/src/algebra/Makefile.am b/src/algebra/Makefile.am
index 0b2a6854..aa544fbd 100644
--- a/src/algebra/Makefile.am
+++ b/src/algebra/Makefile.am
@@ -1460,6 +1460,7 @@ $(OUT)/SGPOP.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) \
$(OUT)/MONOPC.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT)
$(OUT)/FSAGG.$(FASLEXT): $(OUT)/FINAGG.$(FASLEXT)
+$(OUT)/SMAGG.$(FASLEXT): $(OUT)/HOAGG.$(FASLEXT)
$(OUT)/FINAGG.$(FASLEXT): $(OUT)/HOAGG.$(FASLEXT)
oa_algebra_layer_0 = \
@@ -1472,7 +1473,7 @@ oa_algebra_layer_0 = \
RMODULE ALGEBRA ALGEBRA- SGROUP SGROUP- ABELSG \
ABELSG- ORDSET SGPOP OASGP FILECAT SEXCAT \
MODULE MODULE- PID OAGROUP OAGROUP- OCAMON \
- OAMON OAMON- DIOID MONOPC \
+ OAMON OAMON- DIOID MONOPC SMAGG \
RNG RNG- ORDFIN LLINSET RLINSET LINSET OAMONS \
MKBCFUNC MKRECORD MKUCFUNC DROPT1 PLOT1 ITFUN2 \
ITFUN3 STREAM1 STREAM2 STREAM3 ANY1 SEGBIND2 \
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 94f58422..fe03e9c6 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -727,7 +727,7 @@ oa_algebra_layer_0 = \
RMODULE ALGEBRA ALGEBRA- SGROUP SGROUP- ABELSG \
ABELSG- ORDSET SGPOP OASGP FILECAT SEXCAT \
MODULE MODULE- PID OAGROUP OAGROUP- OCAMON \
- OAMON OAMON- DIOID MONOPC \
+ OAMON OAMON- DIOID MONOPC SMAGG \
RNG RNG- ORDFIN LLINSET RLINSET LINSET OAMONS \
MKBCFUNC MKRECORD MKUCFUNC DROPT1 PLOT1 ITFUN2 \
ITFUN3 STREAM1 STREAM2 STREAM3 ANY1 SEGBIND2 \
@@ -2800,6 +2800,7 @@ $(OUT)/SGPOP.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) \
$(OUT)/MONOPC.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT)
$(OUT)/FSAGG.$(FASLEXT): $(OUT)/FINAGG.$(FASLEXT)
+$(OUT)/SMAGG.$(FASLEXT): $(OUT)/HOAGG.$(FASLEXT)
$(OUT)/FINAGG.$(FASLEXT): $(OUT)/HOAGG.$(FASLEXT)
$(OUT)/HOMOTOP.$(FASLEXT): $(OUT)/KOERCE.$(FASLEXT) $(OUT)/KRCFROM.$(FASLEXT)
diff --git a/src/algebra/aggcat.spad.pamphlet b/src/algebra/aggcat.spad.pamphlet
index 2d539d44..baa4a420 100644
--- a/src/algebra/aggcat.spad.pamphlet
+++ b/src/algebra/aggcat.spad.pamphlet
@@ -208,6 +208,25 @@ FiniteAggregate(S: Type): Category == Exports where
@
+\section{}
+
+<<category SMAGG ShallowlyMutableAggregate>>=
+)abbrev category SMAGG ShallowlyMutableAggregate
+++ Author: Gabriel Dos Reis
+++ Date Created: May 17, 2013
+++ Date Last Created: May 17, 2013
+++ Description:
+++ This category describes the class of homogeneous aggregates
+++ that support in place mutation that do not change their general
+++ shapes.
+ShallowlyMutableAggregate(S: Type): Category == Exports where
+ Exports == HomogeneousAggregate S with
+ shallowlyMutable -- FIXME: TEMPORARY.
+ map!: (S->S,%) -> %
+ ++ \spad{map!(f,u)} destructively replaces each element
+ ++ \spad{x} of \spad{u} by \spad{f(x)}
+
+@
@@ -2801,6 +2820,7 @@ BitAggregate(): Category ==
<<category AGG Aggregate>>
<<category HOAGG HomogeneousAggregate>>
+<<category SMAGG ShallowlyMutableAggregate>>
<<category FINAGG FiniteAggregate>>
<<category CLAGG Collection>>
<<category BGAGG BagAggregate>>
diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet
index 221e7b9f..c0228db0 100644
--- a/src/algebra/exposed.lsp.pamphlet
+++ b/src/algebra/exposed.lsp.pamphlet
@@ -661,6 +661,7 @@
(|SetAggregate| . SETAGG)
(|SetCategory| . SETCAT)
(|SExpressionCategory| . SEXCAT)
+ (|ShallowlyMutableAggregate| . SMAGG)
(|SpadAstExports| . SPADXPT)
(|SpadSyntaxCategory| . SASTCAT)
(|SpecialFunctionCategory| . SPFCAT)