aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/Makefile.in4
-rw-r--r--src/algebra/Makefile.pamphlet4
-rw-r--r--src/algebra/syntax.spad.pamphlet28
3 files changed, 32 insertions, 4 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 72318905..c10fa2c3 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -436,7 +436,7 @@ axiom_algebra_layer_5 = \
MRF2 NARNG NARNG- NSUP2 ODVAR OPQUERY \
ORDFIN ORDMON PATMATCH PERMCAT PDRING PDRING- \
SDVAR SUP2 TRIGCAT TRIGCAT- ULS2 UP2 \
- ELABEXPR OCAMON
+ ELABEXPR OCAMON
axiom_algebra_layer_5_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_5))
@@ -486,7 +486,7 @@ axiom_algebra_layer_9 = \
PTFUNC2 RADCAT RADCAT- RATRET RADUTIL UPXS2 \
XFALG ZLINDEP BBTREE LSAGG LSAGG- SRAGG \
SRAGG- STRICAT ODEIFTBL NIPROB ODEPROB OPTPROB \
- PDEPROB COLOR
+ PDEPROB COLOR SIG
axiom_algebra_layer_9_nrlibs = \
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index c5b65e83..a455d264 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -314,7 +314,7 @@ axiom_algebra_layer_5 = \
MRF2 NARNG NARNG- NSUP2 ODVAR OPQUERY \
ORDFIN ORDMON PATMATCH PERMCAT PDRING PDRING- \
SDVAR SUP2 TRIGCAT TRIGCAT- ULS2 UP2 \
- ELABEXPR OCAMON
+ ELABEXPR OCAMON
axiom_algebra_layer_5_nrlibs = \
$(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_5))
@@ -413,7 +413,7 @@ axiom_algebra_layer_9 = \
PTFUNC2 RADCAT RADCAT- RATRET RADUTIL UPXS2 \
XFALG ZLINDEP BBTREE LSAGG LSAGG- SRAGG \
SRAGG- STRICAT ODEIFTBL NIPROB ODEPROB OPTPROB \
- PDEPROB COLOR
+ PDEPROB COLOR SIG
axiom_algebra_layer_9_nrlibs = \
diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet
index 40b2f066..939d040b 100644
--- a/src/algebra/syntax.spad.pamphlet
+++ b/src/algebra/syntax.spad.pamphlet
@@ -245,6 +245,34 @@ ConstructorCall(): Public == Private where
outputDomainConstructor(x)$Lisp
@
+\section{The Signature domain}
+<<domain SIG Signature>>=
+)abbrev domain SIG Signature
+++ Author: Gabriel Dos Reis
+++ Date Created: January 10, 2008
+++ Date Last Updated: July 14, 2008
+++ Description: This is the datatype for operation signatures as
+++ used by the compiler and the interpreter.
+++ See also: ConstructorCall, Domain.
+Signature(): Public == Private where
+ Public == SetCategory with
+ target: % -> ConstructorCall
+ ++ target(s) returns the target type of the signature `s'.
+ source: % -> List ConstructorCall
+ ++ source(s) returns the list of parameter types of `s'.
+ Private == add
+ Rep == List ConstructorCall
+ target x ==
+ first rep x
+ source x ==
+ rest rep x
+ x = y ==
+ rep x = rep y
+ coerce(x: %): OutputForm ==
+ rarrow([s::OutputForm for s in source x]::OutputForm,
+ target(x)::OutputForm)$OutputForm
+@
+
\section{domain ElaboratedExpression}
<<domain ELABEXPR ElaboratedExpression>>=
)abbrev domain ELABEXPR ElaboratedExpression