aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/domain.spad
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-01-20 01:02:10 +0000
committerdos-reis <gdr@axiomatics.org>2008-01-20 01:02:10 +0000
commit8559362639b3460afb49ed8c32dba0a75b9bab71 (patch)
tree29e821f843095ea33dfa61c2568d18077ef3fb7b /src/algebra/domain.spad
parent2546c17a213f87b5a3cd66b58faf84ac6b6186b0 (diff)
downloadopen-axiom-8559362639b3460afb49ed8c32dba0a75b9bab71.tar.gz
* algebra/syntax.spad.pamphlet: Rename from algebra/syntax.spad.
Add a new domain for constructor instantiation form. * algebra/Makefile.pamphlet (axiom_algebra_layer_1): Include CTORCALL.o (SYNTAX.NRLIB/code.$(FASLEXT)): Remove rule. Now implicit. * share/algebra: Update databases.
Diffstat (limited to 'src/algebra/domain.spad')
-rw-r--r--src/algebra/domain.spad16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/algebra/domain.spad b/src/algebra/domain.spad
index 6d30ab18..64247670 100644
--- a/src/algebra/domain.spad
+++ b/src/algebra/domain.spad
@@ -33,14 +33,19 @@
)abbrev domain DOMAIN Domain
++ Author: Gabriel Dos Reis
++ Date Create: October 18, 2007.
-++ Date Last Updated: December 12, 2007.
+++ Date Last Updated: January 19, 2008.
++ Basic Operations: coerce, reify
++ Related Constructors: Type, Syntax, OutputForm
-++ Also See: Type
+++ Also See: Type, ConstructorCall
Domain(): Public == Private where
Public ==> CoercibleTo(OutputForm) with
- reify: % -> Syntax
+ reify: % -> ConstructorCall
++ reify(d) returns the abstract syntax for the domain `x'.
+
+ reflect: ConstructorCall -> %
+ ++ reflect cc returns the domain object designated by the
+ ++ ConstructorCall syntax `cc'. The constructor implied
+ ++ by `cc' must be known to the system since it is instantiated.
showSummary: % -> Void
++ showSummary(d) prints out implementation detail information
@@ -51,7 +56,10 @@ Domain(): Public == Private where
outputDomainConstructor(x)$Lisp
reify x ==
- convert(devaluate(x)$Lisp@SExpression)$Syntax
+ devaluate(x)$Lisp @ ConstructorCall
+
+ reflect cc ==
+ evalDomain(cc)$Lisp @ %
showSummary x ==
showSummary(x)$Lisp