diff options
author | dos-reis <gdr@axiomatics.org> | 2008-02-19 00:35:15 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-02-19 00:35:15 +0000 |
commit | 9fbb89443e0c88ee5e76d95a3eea2ac5ea9916b6 (patch) | |
tree | f1bad297451efd27a5d980854c120d28d775ab41 /src/algebra | |
parent | a415d56c7fe71b04b00c0bc0a78e256791b27cb9 (diff) | |
download | open-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')
-rw-r--r-- | src/algebra/Makefile.in | 6 | ||||
-rw-r--r-- | src/algebra/Makefile.pamphlet | 6 | ||||
-rw-r--r-- | src/algebra/domain.spad.pamphlet (renamed from src/algebra/domain.spad) | 102 | ||||
-rw-r--r-- | src/algebra/variable.spad.pamphlet | 23 |
4 files changed, 94 insertions, 43 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 8bd466fb..a4dafd1f 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -378,7 +378,7 @@ axiom_algebra_layer_0 = \ OM.o OMCONN.o OMDEV.o OUT.o \ PRIMCAT.o PRINT.o PTRANFN.o SPFCAT.o \ TYPE.o UTYPE.o PROPLOG.o PROPERTY.o \ - BASTYPE.o BASTYPE-.o + BASTYPE.o BASTYPE-.o CATEGORY.o axiom_algebra_layer_0_nrlibs = \ $(axiom_algebra_layer_0:.$(OBJEXT)=.NRLIB/code.$(OBJEXT)) @@ -910,10 +910,6 @@ PARSER.NRLIB/code.$(FASLEXT): script-parser.spad @ rm -rf PARSER.NRLIB echo ")co $(srcdir)/script-parser.spad" | ${INTERPSYS} -DOMAIN.NRLIB/code.$(FASLEXT): domain.spad - @ rm -rf DOMAIN.NRLIB - echo ")co $(srcdir)/domain.spad" | ${INTERPSYS} - ${INPUT}/TESTFR.input: $(srcdir)/fr.spad.pamphlet diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 829c6dd3..6845c125 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -206,7 +206,7 @@ axiom_algebra_layer_0 = \ OM.o OMCONN.o OMDEV.o OUT.o \ PRIMCAT.o PRINT.o PTRANFN.o SPFCAT.o \ TYPE.o UTYPE.o PROPLOG.o PROPERTY.o \ - BASTYPE.o BASTYPE-.o + BASTYPE.o BASTYPE-.o CATEGORY.o axiom_algebra_layer_0_nrlibs = \ $(axiom_algebra_layer_0:.$(OBJEXT)=.NRLIB/code.$(OBJEXT)) @@ -1863,10 +1863,6 @@ PARSER.NRLIB/code.$(FASLEXT): script-parser.spad @ rm -rf PARSER.NRLIB echo ")co $(srcdir)/script-parser.spad" | ${INTERPSYS} -DOMAIN.NRLIB/code.$(FASLEXT): domain.spad - @ rm -rf DOMAIN.NRLIB - echo ")co $(srcdir)/domain.spad" | ${INTERPSYS} - @ <<diagrams.tex (OUT from IN)>>= diff --git a/src/algebra/domain.spad b/src/algebra/domain.spad.pamphlet index 64247670..571c14a8 100644 --- a/src/algebra/domain.spad +++ b/src/algebra/domain.spad.pamphlet @@ -1,35 +1,35 @@ ---Copyright (C) 2007, 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. +\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. @@ -64,4 +64,46 @@ Domain(): Public == Private where 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>> +@ diff --git a/src/algebra/variable.spad.pamphlet b/src/algebra/variable.spad.pamphlet index 0f50171d..54972970 100644 --- a/src/algebra/variable.spad.pamphlet +++ b/src/algebra/variable.spad.pamphlet @@ -93,13 +93,30 @@ FunctionCalled(f:Symbol): SetCategory with )abbrev domain ANON AnonymousFunction ++ Description: ++ This domain implements anonymous functions -AnonymousFunction():SetCategory == add - coerce(x:%):OutputForm == x pretend OutputForm +AnonymousFunction():SetCategory with + parameters: % -> List Symbol + ++ parameters(f) returns the list of parameters bound by `f'. + body: % -> Syntax + ++ body(f) returns the body of the unnamed function `f'. + == add + import Syntax + coerce(x:%):OutputForm == + x pretend OutputForm + + parameters f == + ps := CADR(f)$Lisp : Syntax + ps case Symbol => [ps]$List(Symbol) + getOperands(ps) pretend List(Symbol) + + body f == + CADDR(f)$Lisp : Syntax @ \section{License} <<license>>= ---Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. +--Copyright (C) 1991-2002, The Numerical Algorithms Group Ltd. +--All rights reserved. +--Copyright (C) 2007-2008, Gabriel Dos Reis. --All rights reserved. -- --Redistribution and use in source and binary forms, with or without |