aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/domain.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-02-19 00:35:15 +0000
committerdos-reis <gdr@axiomatics.org>2008-02-19 00:35:15 +0000
commit9fbb89443e0c88ee5e76d95a3eea2ac5ea9916b6 (patch)
treef1bad297451efd27a5d980854c120d28d775ab41 /src/algebra/domain.spad.pamphlet
parenta415d56c7fe71b04b00c0bc0a78e256791b27cb9 (diff)
downloadopen-axiom-9fbb89443e0c88ee5e76d95a3eea2ac5ea9916b6.tar.gz
* algebra/variable.spad.pamphlet (AnonymousFunction): Add new
functions `parameters' and `body'. * algebra/domain.spad.pamphlet: Rename from algebra/domain.spad. (Category): New category. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include CATEGORY.o. (DOMAIN.NRLIB/code.$(FASLEXT)): Remove rule. * interp/trace.boot (transTraceItem): Use $LangSupportTypes. * interp/sys-constants.boot ($None): New. ($Type): Likewise. ($LangSupportTypes): Likewise. * interp/parse.boot (parseHas): Use $LangSupportTypes. (parseHasRhs): Likewise. * interp/i-spec2.boot (upLETtype): Use conceptualType. (uptypeOf): Likewise. (upwhere): Likewise. (typeOfType): Remove. * interp/i-spec1.boot (isDomainValuedVariable): Variables with type Category and Type are domain valued too. * interp/i-output.boot (output): Special case only Mode and Type. * interp/i-funsel.boot (selectMms): Don't ignore modemaps with category parameters. * interp/i-coerce.boot (canCoerce1): Test for Category instead of SubDomain Domain. (canCoerceFrom0): Use $None and $Any. (absolutelyCannotCoerce): Use $None. (coerceInteractive): Use $LangSupportTypes. (coerceInt1): Use $Any. * interp/i-analy.boot (conceptualType): New. (bottomUpType): Use it. * interp/clammed.boot (isValidType): Use $LangSupportTypes. * interp/g-cndata.boot (isNameOfType): Likewise. * interp/category.boot (Category): Remove hacky definition. * interp/buildom.boot ($noCategoryDomains): Domain now has a Lisplib.
Diffstat (limited to 'src/algebra/domain.spad.pamphlet')
-rw-r--r--src/algebra/domain.spad.pamphlet109
1 files changed, 109 insertions, 0 deletions
diff --git a/src/algebra/domain.spad.pamphlet b/src/algebra/domain.spad.pamphlet
new file mode 100644
index 00000000..571c14a8
--- /dev/null
+++ b/src/algebra/domain.spad.pamphlet
@@ -0,0 +1,109 @@
+\documentclass{article}
+\usepackage{axiom}
+
+\author{Gabriel Dos~Reis}
+
+\begin{document}
+
+\begin{abstract}
+\end{abstract}
+
+\tableofcontents
+\eject
+
+\section{domain Category}
+<<domain CATEGORY Category>>=
+)abbrev domain CATEGORY Category
+++ Author: Gabriel Dos Reis
+++ Date Create: February 16, 2008.
+++ Date Last Updated: February 16, 2008.
+++ Basic Operations: coerce
+++ Related Constructors:
+++ Also See: Type
+Category(): Public == Private where
+ Public ==> CoercibleTo OutputForm
+ Private ==> add
+ coerce x ==
+ outputDomainConstructor(x)$Lisp
+@
+
+
+\section{domain Domain}
+<<domain DOMAIN Domain>>=
+)abbrev domain DOMAIN Domain
+++ Author: Gabriel Dos Reis
+++ Date Create: October 18, 2007.
+++ Date Last Updated: January 19, 2008.
+++ Basic Operations: coerce, reify
+++ Related Constructors: Type, Syntax, OutputForm
+++ Also See: Type, ConstructorCall
+Domain(): Public == Private where
+ Public ==> CoercibleTo(OutputForm) with
+ 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
+ ++ of domain `d'.
+
+ Private ==> add
+ coerce x ==
+ outputDomainConstructor(x)$Lisp
+
+ reify x ==
+ devaluate(x)$Lisp @ ConstructorCall
+
+ reflect cc ==
+ evalDomain(cc)$Lisp @ %
+
+ showSummary x ==
+ showSummary(x)$Lisp
+
+@
+
+
+\section{License}
+<<license>>=
+--Copyright (C) 2007-2008, Gabriel Dos Reis.
+--All rights reserved.
+--
+--Redistribution and use in source and binary forms, with or without
+--modification, are permitted provided that the following conditions are
+--met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical Algorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+--IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+--TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+--PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+--OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+--EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+--PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+--PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+--LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+--NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+--SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+@
+
+
+<<*>>=
+<<license>>
+<<domain CATEGORY Category>>
+<<domain DOMAIN Domain>>
+@