Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product.
"Bill Page" <[email protected]> Wed, 24 Oct 2007 11:33:06 -0400
| Newsgroups | gmane.comp.mathematics.axiom.general |
|---|---|
| Message-ID | <[email protected]> |
On 10/24/07, Gabriel Dos Reis wrote: > > On Wed, 24 Oct 2007, Bill Page wrote: > ... > | A good notation should help "suggest" a solution > > Gaby wrote: > A good notation should reflect semantics. > Yes. I think that is a better way of saying what I was trying to say. Thanks. > I'm skeptical in the efficacy of putting the cart before the horse. > Ok, but I tend to thing of this as more of a systemic thing without one necessarily leading the other. > [...] > > | Earlier in this thread I suggested introducing a new domain I called > | 'IntegerSegment(S)' abbreviated INTS that would be the domain > | equivalent to a given 'S:Segment(Integer)'. Then we could write: > | > | [i for i in Product(OVAR [a,b,c], INTS 1..3)] > | > | This does not require that '1..3' denote a domain although it does > | seem less "economical". > > It is certainly be a good thing to have an implementation of that > domain and see how much we can learn from it. > One thing to note is that the above construction still requires an extension of Spad and the Axiom Interpreter syntax and semantics to allow a domain to follow 'in'. Right now one would actually be forced to write: [i for i in expand()$Product(OVAR [a,b,c], INTS 1..3)] I posted a patch for the Product domain to provide such an 'expand' operation (maybe a better name is desirable) and also to provide 'expand' for any domain in the Finite category. But converting a domain (Product) to a List just to iterate over it seems like a waste and is still less economical. I would like the compiler to make this operation transparent and more efficient. Regards, Bill Page.