diff options
| author | dos-reis <gdr@axiomatics.org> | 2011-10-12 16:22:50 +0000 |
|---|---|---|
| committer | dos-reis <gdr@axiomatics.org> | 2011-10-12 16:22:50 +0000 |
| commit | a5396a491b1b308b622db3e12da734e6fb1fdb53 (patch) | |
| tree | cab6fb51f6da78e515bba628b569a4920fff65f0 /src/algebra/boolean.spad.pamphlet | |
| parent | b630bc7d49b335b41b50293952ffc64b65718a7b (diff) | |
| download | open-axiom-a5396a491b1b308b622db3e12da734e6fb1fdb53.tar.gz | |
* algebra/boolean.spad.pamphlet (Reference) [elt]: Remove.
[setelt]: Likewise.
* algebra/lodof.spad.pamphlet: Adjust use.
* algebra/float.spad.pamphlet: Likewise.
* algebra/divisor.spad.pamphlet: Likewise.
* algebra/curve.spad.pamphlet: Likewise.
* algebra/card.spad.pamphlet: Likewise.
* algebra/algext.spad.pamphlet: Likewise.
* algebra/op.spad.pamphlet: Likewise.
* algebra/suls.spad.pamphlet: Likewise.
* algebra/sups.spad.pamphlet: Likewise.
* algebra/supxs.spad.pamphlet: Likewise.
* algebra/suts.spad.pamphlet: Likewise.
* algebra/symbol.spad.pamphlet: Likewise.
* algebra/view3D.spad.pamphlet: Likewise.
* algebra/viewDef.spad.pamphlet: Likewise.
Diffstat (limited to 'src/algebra/boolean.spad.pamphlet')
| -rw-r--r-- | src/algebra/boolean.spad.pamphlet | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/src/algebra/boolean.spad.pamphlet b/src/algebra/boolean.spad.pamphlet index 7562b3b5..4e307819 100644 --- a/src/algebra/boolean.spad.pamphlet +++ b/src/algebra/boolean.spad.pamphlet @@ -392,42 +392,35 @@ PropositionalFormulaFunctions2(S,T): Public == Private where )abbrev domain REF Reference ++ Author: Stephen M. Watt ++ Date Created: -++ Date Last Changed: May 27, 2009 -++ Basic Operations: deref, elt, ref, setelt, setref, = +++ Date Last Changed: October 11, 2011 +++ Basic Operations: deref, ref, setref, = ++ Related Constructors: ++ Keywords: reference ++ Description: \spadtype{Reference} is for making a changeable instance ++ of something. -Reference(S:Type): Type with +Reference(S:Type): SetCategory with ref : S -> % - ++ ref(n) creates a pointer (reference) to the object n. - elt : % -> S - ++ elt(n) returns the object n. - setelt: (%, S) -> S - ++ setelt(n,m) changes the value of the object n to m. - -- alternates for when bugs don't allow the above + ++ \spad{ref(s)} creates a reference to the object \spad{s}. deref : % -> S - ++ deref(n) is equivalent to \spad{elt(n)}. + ++ \spad{deref(r)} returns the object referenced by \spad{r} setref: (%, S) -> S - ++ setref(n,m) same as \spad{setelt(n,m)}. - = : (%, %) -> Boolean - ++ a=b tests if \spad{a} and b are equal. - if S has SetCategory then SetCategory - + ++ setref(r,s) reset the reference \spad{r} to refer to \spad{s} + = : (%, %) -> Boolean + ++ \spad{a=b} tests if \spad{a} and \spad{b} are equal. == add - Rep := Record(value: S) - - p = q == %peq(p,q)$Foreign(Builtin) - ref v == [v] - elt p == p.value - setelt(p, v) == p.value := v - deref p == p.value - setref(p, v) == p.value := v - - if S has SetCategory then - coerce p == - prefix('ref::OutputForm, [p.value::OutputForm]) + Rep == Record(value: S) + import %peq: (%,%) -> Boolean from Foreign Builtin + + p = q == %peq(p,q) + ref v == per [v] + deref p == rep(p).value + setref(p, v) == rep(p).value := v + coerce p == + obj := + S has CoercibleTo OutputForm => rep(p).value::OutputForm + '?::OutputForm + prefix('ref::OutputForm, [obj]) @ |
