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. _______________________________________________ Axiom-math mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-math
