|
|
|
last edited 11 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/FOOv:=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.