Aldor has generators:
The Aldor/Axiom interface provides such a generator for the Axiom Vector type. Let's try it. More space? I am not sure why but it seems that I must increase GCL memory allocation to make this work. axiom )lisp (si::allocate-contiguous-pages 1500 t) aldor #include "axiom" aldor Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/4218486668628728926-25px002.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-ALDOR_W_WillObsolete -DAxiom -Y $AXIOM/algebra -I $AXIOM/algebra
Use the system command )set compiler args to change these
options.
Compiling Lisp source code from file
./4218486668628728926-25px002.lsp
Issuing )library command for 4218486668628728926-25px002
Reading /var/zope2/var/LatexWiki/4218486668628728926-25px002.asyaxiom V:Vector Integer:=[1,
Type: Vector(Integer)
axiom myList(V)
Type: List(Integer)
Space left? axiom )lisp (room) Re: aldor stream oddities --Bill Page, Thu, 09 Aug 2007 10:53:09 -0500 reply On Aug 9, 2007 10:07 AM Franz Lehner wrote:
Hello, is there a way to get hold of
=================================================
#include "axiom"
teststream: with {
zerostream:()->Stream Integer;
} == add {
zerostream():Stream Integer == {
import from Integer;
generate((x:Integer):Integer +-> 0@Integer,0@Integer);
}
}
=================================================
aldor -Fasy -Fao -Flsp -laxiom -DAxiom -Y/home/lehner/usr/local/lib/wh-sandbox_s1/target/x86_64-unknown-linux/algebra test1.as "test1.as", line 8:
generate((x:Integer):Integer +-> 0@Integer,0@Integer);
.........................^
[L8 C26] #1 (Error) Have determined 1 possible types for the expression.
Meaning 1: (x: Integer) -> Integer, Integer
The context requires an expression of type Stream(Integer).
make: *** [test.ao] Fehler 1
=========================================================
#include "axiom"
teststream: with {
zerostream:()->Stream Integer;
} == add {
zerostream():Stream Integer == {
import from Integer;
generate(():Integer +-> 0@Integer);
}
}
=========================================================
aldor -Fasy -Fao -Flsp -laxiom -DAxiom -Y/home/lehner/usr/local/lib/wh-sandbox_s1/target/x86_64-unknown-linux/algebra est2.as
Program fault (segmentation violation).#3 (Error) Program fault
(segmentation violation).
"test2.as", line 6: zerostream():Stream Integer == {
.......................................^
[L6 C40] #1 (Error) Have determined 0 possible types for the expression.
Subexpression `import from Integer':
Meaning 1: (0 types)
"test.as", line 9: generate(():Integer +-> 0@Integer);
.........................^
[L9 C26] #2 (Error) Have determined 0 possible types for the expression.
make: *** [test.ao] Fehler 1
Bill Page replied: Here is one way. The important thing is to escape the keyword
aldor #include "axiom" aldor Compiling FriCAS source code from file
/var/zope2/var/LatexWiki/5904224867308724363-25px005.as using
AXIOM-XL compiler and options
-O -Fasy -Fao -Flsp -laxiom -Mno-ALDOR_W_WillObsolete -DAxiom -Y $AXIOM/algebra -I $AXIOM/algebra
Use the system command )set compiler args to change these
options.
Compiling Lisp source code from file
./5904224867308724363-25px005.lsp
Issuing )library command for 5904224867308724363-25px005
Reading /var/zope2/var/LatexWiki/5904224867308724363-25px005.asy
teststream is now explicitly exposed in frame initial
teststream will be automatically loaded when needed from
/var/zope2/var/LatexWiki/5904224867308724363-25px005axiom zerostream()
Type: Stream(Integer)
|