[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-math] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re
From: |
Ralf Hemmecke |
Subject: |
[Axiom-math] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product. |
Date: |
Sat, 27 Oct 2007 20:22:18 +0200 |
User-agent: |
Thunderbird 2.0.0.6 (X11/20070728) |
On 10/25/2007 06:40 PM, Bill Page wrote:
On 10/24/07, Ralf Hemmecke wrote:
...
I cannot live anymore without "Generator". And I very much hope it will
make it into SPAD.
Contrast this with 'Stream' in
Axiom which (so far as I understand) does not require such an
extension of Spad.
For me a stream is like a generator with memory.
It is not my intention to sound critical but I would like to
understand better this distinction. If Stream is a generalization of
Generator, why do we need Generator?
Let me cite the documentation from stream.spad.pamphlet
++ A stream is an implementation of an infinite sequence using
++ a list of terms that have been computed and a function closure
++ to compute additional terms when needed.
First, a stream is an infinite sequence. If we get
(6) -> s:=construct([1,2,3])$Stream(Integer)
(6) ->
(6) [1,2,3]
Type: Stream
Integer
(7) -> s.4
7) ->
>> Error detected within library code:
elt: no such element
Then there is either something wrong with the code or with the
documentation.
Second, according to the documentation a Stream is a pair (A,B) where A
is a list of precomputed functions and B is a function that computes the
next value.
If you would like to know the difference between Stream and Generator,
then think of a Generator as the B part above.
In fact, in aldor-combinat, I have implemented a "DataStream" which has
representation:
Rep == Record(
gen: Generator T,
cache: PrimitiveArray T,
size: I,
numberOfElements: I,
constant?: Boolean
);
In more simpler terms, my A is Array and my B is Generator. Does that help?
The larger question remains however: When to use a domain to directly
model something that is "set-like" and when to define a higher-order
domain whose objects are "set-like"? To me this is not clear in either
Spad or Aldor.
I don't think you gain very much if you only consider set-like domains.
If, however, you are looking at finite fields, for sure, you will think
of a domain, since it is more important that there are some operations
that connect the elements.
Ralf
- [Axiom-math] Re: [open-axiom-devel] [fricas-devel] generators, was: Re: iterators and cartesian product., (continued)
- [Axiom-math] Re: [open-axiom-devel] [fricas-devel] generators, was: Re: iterators and cartesian product., Bill Page, 2007/10/24
- [Axiom-math] Re: [open-axiom-devel] generators, Ralf Hemmecke, 2007/10/25
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Gabriel Dos Reis, 2007/10/24
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Bill Page, 2007/10/24
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Gabriel Dos Reis, 2007/10/24
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Gabriel Dos Reis, 2007/10/24
- [Axiom-math] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Ralf Hemmecke, 2007/10/25
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Bill Page, 2007/10/25
- [Axiom-math] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product.,
Ralf Hemmecke <=
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Bill Page, 2007/10/28
- [Axiom-math] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Ralf Hemmecke, 2007/10/28
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Bill Page, 2007/10/30
- [Axiom-math] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Ralf Hemmecke, 2007/10/23
- [Axiom-math] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Bill Page, 2007/10/23
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Gabriel Dos Reis, 2007/10/24
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Bill Page, 2007/10/24
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Gabriel Dos Reis, 2007/10/24
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Bill Page, 2007/10/24
- [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product., Gabriel Dos Reis, 2007/10/24