diff options
author | dos-reis <gdr@axiomatics.org> | 2011-05-17 05:01:33 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-05-17 05:01:33 +0000 |
commit | 86a5494a7187d226750c7cf49ce2c6505ec87079 (patch) | |
tree | fe8a5b2fe2aad99bc87b88598918e2e316476e6a /src/algebra | |
parent | cfda765b2e6342596df91ac9d4110f3fa95f5d75 (diff) | |
download | open-axiom-86a5494a7187d226750c7cf49ce2c6505ec87079.tar.gz |
cleanup
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/algfunc.spad.pamphlet | 4 | ||||
-rw-r--r-- | src/algebra/any.spad.pamphlet | 10 | ||||
-rw-r--r-- | src/algebra/array1.spad.pamphlet | 32 | ||||
-rw-r--r-- | src/algebra/domain.spad.pamphlet | 4 |
4 files changed, 28 insertions, 22 deletions
diff --git a/src/algebra/algfunc.spad.pamphlet b/src/algebra/algfunc.spad.pamphlet index 5cb93af1..ca14074d 100644 --- a/src/algebra/algfunc.spad.pamphlet +++ b/src/algebra/algfunc.spad.pamphlet @@ -89,7 +89,9 @@ AlgebraicallyClosedField(): Category == Join(Field,RadicalCategory) with rootsOf(p:SUP) == rootsOf(p, new()) rootsOf(p:SUP, y:Symbol) == allroots(p, y, rootOf) zerosOf(p:SUP, y:Symbol) == allroots(p, y, zeroOf) - assign(x, f) == (assignSymbol(x, f, $)$Lisp; f) + assign(x, f) == + assignSymbol(x, f, $)$Foreign(Builtin) + f zeroOf(p:Polynomial $) == empty?(l := variables p) => error "zeroOf: constant polynomial" diff --git a/src/algebra/any.spad.pamphlet b/src/algebra/any.spad.pamphlet index f2aa5bdb..4af9f557 100644 --- a/src/algebra/any.spad.pamphlet +++ b/src/algebra/any.spad.pamphlet @@ -191,9 +191,9 @@ Any(): SetCategory with otherwise => (rep(x).ob pretend SExpression)::OutputForm any(domain, object) == - (isValidType(domain)$Lisp)@Boolean => per [domain, object] - domain := devaluate(domain)$Lisp - (isValidType(domain)$Lisp)@Boolean => per [domain, object] + isValidType(domain)$Foreign(Builtin) => per [domain, object] + domain := devaluate(domain)$Foreign(Builtin) + isValidType(domain)$Foreign(Builtin) => per [domain, object] error "function any must have a domain as first argument" @ @@ -239,7 +239,7 @@ AnyFunctions1(S:Type): with == add import NoneFunctions1(S) - Sexpr:SExpression := devaluate(S)$Lisp + Sexpr:SExpression := devaluate(S)$Foreign(Builtin) coerce(s:S):Any == any(Sexpr, s::None) @@ -427,7 +427,7 @@ Scope(): Public == Private where nothing pushNewContour(b,s) == - CONS(LIST(b)$Lisp,s)$Lisp + %pair(%list(b)$Foreign(Builtin),s)$Foreign(Builtin) currentScope() == %head(_$e$Lisp)$Foreign(Builtin) diff --git a/src/algebra/array1.spad.pamphlet b/src/algebra/array1.spad.pamphlet index 48ee917f..07be7592 100644 --- a/src/algebra/array1.spad.pamphlet +++ b/src/algebra/array1.spad.pamphlet @@ -372,12 +372,16 @@ FlexibleArray(S: Type) == Implementation where IndexedOneDimensionalArray(S:Type, mn:Integer): OneDimensionalArrayAggregate S == add - import %vlength: % -> NonNegativeInteger from Foreign Builtin - import %aref: (%,Integer) -> S from Foreign Builtin - macro Qmax == maxIndexOfSimpleArray$Foreign(Builtin) macro Qsetelt == setSimpleArrayEntry$Foreign(Builtin) macro I == Integer + + import %icst0: I from Foreign Builtin + import %icst1: I from Foreign Builtin + import %ilt: (I,I) -> Boolean from Foreign Builtin + import %vlength: % -> NonNegativeInteger from Foreign Builtin + import %aref: (%,Integer) -> S from Foreign Builtin + Rep == PrimitiveArray S newArray(n: Integer): % == @@ -395,22 +399,22 @@ IndexedOneDimensionalArray(S:Type, mn:Integer): map!(f, s1) == n: Integer := Qmax(s1) negative? n => s1 - for i in 0..n repeat Qsetelt(s1, i, f(%aref(s1,i))) + for i in %icst0..n repeat Qsetelt(s1,i,f %aref(s1,i)) s1 map(f, s1) == n:Integer := Qmax(s1) negative? n => s1 ss2:% := newArray(n+1) - for i in 0..n repeat Qsetelt(ss2, i, f(%aref(s1,i))) + for i in %icst0..n repeat Qsetelt(ss2,i,f %aref(s1,i)) ss2 map(f, a, b) == maxind:Integer := min(Qmax a, Qmax b) negative? maxind => empty() - c:% := newArray(maxind+1) - for i in 0..maxind repeat - Qsetelt(c, i, f(%aref(a,i),%aref(b,i))) + c:% := newArray(maxind + %icst1) + for i in %icst0..maxind repeat + Qsetelt(c,i,f(%aref(a,i),%aref(b,i))) c if zero? mn then @@ -427,18 +431,18 @@ IndexedOneDimensionalArray(S:Type, mn:Integer): else if one? mn then maxIndex x == %vlength x - qelt(x, i) == %aref(x, i-1) - qsetelt!(x, i, s) == Qsetelt(x, i-1, s) + qelt(x, i) == %aref(x, i - %icst1) + qsetelt!(x, i, s) == Qsetelt(x, i - %icst1, s) elt(x:%, i:I) == - QSLESSP(i,1@I)$Lisp or QSLESSP(%vlength x,i)$Lisp => + %ilt(i,%icst1) or %ilt(%vlength x,i) => error "index out of range" - %aref(x, i-1) + %aref(x, i - %icst1) setelt(x:%, i:I, s:S) == - QSLESSP(i,1@I)$Lisp or QSLESSP(%vlength x,i)$Lisp => + %ilt(i,%icst1) or %ilt(%vlength x,i) => error "index out of range" - Qsetelt(x, i-1, s) + Qsetelt(x, i - %icst1, s) else qelt(x, i) == %aref(x, i - mn) diff --git a/src/algebra/domain.spad.pamphlet b/src/algebra/domain.spad.pamphlet index 6214d34c..456680dc 100644 --- a/src/algebra/domain.spad.pamphlet +++ b/src/algebra/domain.spad.pamphlet @@ -343,9 +343,9 @@ OperatorSignature(): Public == Private where Private == add import %equal: (%,%) -> Boolean from Foreign Builtin - construct(o,s) == LIST(o,s)$Lisp + construct(o,s) == %list(o,s)$Foreign(Builtin) name x == %head(x)$Foreign(Builtin) - signature x == CADR(x)$Lisp + signature x == %lsecond(x)$Foreign(Builtin) x = y == %equal(x,y) arity x == (#source signature x)::Arity coerce(x: %): OutputForm == |