diff options
author | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
commit | ab8cc85adde879fb963c94d15675783f2cf4b183 (patch) | |
tree | c202482327f474583b750b2c45dedfc4e4312b1d /src/algebra/variable.spad.pamphlet | |
download | open-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz |
Initial population.
Diffstat (limited to 'src/algebra/variable.spad.pamphlet')
-rw-r--r-- | src/algebra/variable.spad.pamphlet | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/src/algebra/variable.spad.pamphlet b/src/algebra/variable.spad.pamphlet new file mode 100644 index 00000000..0f50171d --- /dev/null +++ b/src/algebra/variable.spad.pamphlet @@ -0,0 +1,146 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/algebra variable.spad} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +\section{domain OVAR OrderedVariableList} +<<domain OVAR OrderedVariableList>>= +)abbrev domain OVAR OrderedVariableList +++ Description: +++ This domain implements ordered variables +OrderedVariableList(VariableList:List Symbol): + Join(OrderedFinite, ConvertibleTo Symbol, ConvertibleTo InputForm, + ConvertibleTo Pattern Float, ConvertibleTo Pattern Integer) with + variable: Symbol -> Union(%,"failed") + ++ variable(s) returns a member of the variable set or failed + == add + VariableList := removeDuplicates VariableList + Rep := PositiveInteger + s1,s2:% + convert(s1):Symbol == VariableList.((s1::Rep)::PositiveInteger) + coerce(s1):OutputForm == (convert(s1)@Symbol)::OutputForm + convert(s1):InputForm == convert(convert(s1)@Symbol) + convert(s1):Pattern(Integer) == convert(convert(s1)@Symbol) + convert(s1):Pattern(Float) == convert(convert(s1)@Symbol) + index i == i::% + lookup j == j :: Rep + size () == #VariableList + variable(exp:Symbol) == + for i in 1.. for exp2 in VariableList repeat + if exp=exp2 then return i::PositiveInteger::% + "failed" + s1 < s2 == s2 <$Rep s1 + s1 = s2 == s1 =$Rep s2 + latex(x:%):String == latex(convert(x)@Symbol) + +@ +\section{domain VARIABLE Variable} +<<domain VARIABLE Variable>>= +)abbrev domain VARIABLE Variable +++ Description: +++ This domain implements variables +Variable(sym:Symbol): Join(SetCategory, CoercibleTo Symbol) with + coerce : % -> Symbol + ++ coerce(x) returns the symbol + variable: () -> Symbol + ++ variable() returns the symbol + == add + coerce(x:%):Symbol == sym + coerce(x:%):OutputForm == sym::OutputForm + variable() == sym + x = y == true + latex(x:%):String == latex sym + +@ +\section{domain RULECOLD RuleCalled} +<<domain RULECOLD RuleCalled>>= +)abbrev domain RULECOLD RuleCalled +++ Description: +++ This domain implements named rules +RuleCalled(f:Symbol): SetCategory with + name: % -> Symbol + ++ name(x) returns the symbol + == add + name r == f + coerce(r:%):OutputForm == f::OutputForm + x = y == true + latex(x:%):String == latex f + +@ +\section{domain FUNCTION FunctionCalled} +<<domain FUNCTION FunctionCalled>>= +)abbrev domain FUNCTION FunctionCalled +++ Description: +++ This domain implements named functions +FunctionCalled(f:Symbol): SetCategory with + name: % -> Symbol + ++ name(x) returns the symbol + == add + name r == f + coerce(r:%):OutputForm == f::OutputForm + x = y == true + latex(x:%):String == latex f + +@ +\section{domain ANON AnonymousFunction} +<<domain ANON AnonymousFunction>>= +)abbrev domain ANON AnonymousFunction +++ Description: +++ This domain implements anonymous functions +AnonymousFunction():SetCategory == add + coerce(x:%):OutputForm == x pretend OutputForm + +@ +\section{License} +<<license>>= +--Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. +--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 VARIABLE Variable>> +<<domain RULECOLD RuleCalled>> +<<domain FUNCTION FunctionCalled>> +<<domain OVAR OrderedVariableList>> +<<domain ANON AnonymousFunction>> +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document} |