|
|
last edited 10 years ago by test1 |
1 2 | ||
Editor: greg
Time: 2008/08/03 11:17:31 GMT-7 |
||
Note: |
changed: - The if-then statement in this piece of code is badly compiled: \begin{spad} )abb package FOO Foo Foo(R,VCR): Exports == Implementation where R : FloatingPointSystem VCR : VectorCategory R Exports == with bar : (Boolean, VCR) -> Integer ++ bar(t,v) Implementation == add import OutputPackage bar(b, v) == if b then --output("") for i in minIndex v..maxIndex v repeat if v.i <= 0 then return -1 else for i in minIndex v ..maxIndex v repeat v.i := 1 output(v::OutputForm) 0 \end{spad} \begin{axiom} v:=new(5,0)$Vector(SF) bar(false,v) \end{axiom} Axiom should display [1.0,1.0,1.0,1.0,1.0] since b is set to false. If a statement is added just before the first 'for' loop the compiler produces correct code.
The if-then statement in this piece of code is badly compiled:
)abb package FOO Foo Foo(R,VCR): Exports == Implementation where R : FloatingPointSystem VCR : VectorCategory R Exports == with bar : (Boolean, VCR) -> Integer ++ bar(t, v) Implementation == add import OutputPackage bar(b, v) == if b then --output("") for i in minIndex v..maxIndex v repeat if v.i <= 0 then return -1 else for i in minIndex v ..maxIndex v repeat v.i := 1 output(v::OutputForm) 0
Compiling FriCAS source code from file /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/7796249095078486632-25px001.spad using old system compiler. FOO abbreviates package Foo ------------------------------------------------------------------------ initializing NRLIB FOO for Foo compiling into NRLIB FOO importing OutputPackage compiling exported bar : (Boolean,VCR) -> Integer Time: 0.04 SEC.
(time taken in buildFunctor: 0)
;;; *** |Foo| REDEFINED
;;; *** |Foo| REDEFINED Time: 0 SEC.
Cumulative Statistics for Constructor Foo Time: 0.04 seconds
finalizing NRLIB FOO Processing Foo for Browser database: --->-->Foo(constructor): Not documented!!!! --------(bar ((Integer) (Boolean) VCR))--------- --->-->Foo(): Missing Description ; compiling file "/var/aw/var/LatexWiki/FOO.NRLIB/FOO.lsp" (written 15 APR 2014 04:51:22 PM):
; /var/aw/var/LatexWiki/FOO.NRLIB/FOO.fasl written ; compilation finished in 0:00:00.019 ------------------------------------------------------------------------ Foo is now explicitly exposed in frame initial Foo will be automatically loaded when needed from /var/aw/var/LatexWiki/FOO.NRLIB/FOO
v:=new(5,0)$Vector(SF)
(1) |
bar(false,v)
[1.0,1.0, 1.0, 1.0, 1.0]
(2) |
Axiom should display [1.0,1.0,1.0,1.0,1.0]? since b is set to false. If a statement is added just before the first for
loop the compiler produces correct code.