On Wed, 24 Oct 2007, Bill Page wrote: | | On 10/24/07, Gabriel Dos Reis wrote: | > | > On Tue, 23 Oct 2007, Bill Page wrote: | > | > | But as I said earlier in this thread, this sort of construction is not | > | as general as I would hope for. How would I write for example? | > | | > | [i for i in Product(OVAR [a,b,c], 1..3)] | > | | > | [ (a,1), (a,2), (a,3), (b,1), ... ] | > | > My fundemantal issue to understand is making 1..9 a domain. I'm fine | > with no having the most general construct, but I'm concerned with | > semantics and typeing rules. In general, I'm suspicious of any | > extension that is driven by just syntax. | > | | I understand your suspicion however I do believe (as you may also | believe) that syntax is quite critical - particularly in *mathematics* | where I think it has often been demonstrated that proper notation is | 90% (99% ?) of the problem.
Yes. Syntax matters. But mathematical notations are also very deceptive and ambiguous. As of today, we don't have universal, unambiguous, mathematical notation used by everybody. Rather, we have variations used by communities, with varying meanings. Therefore, we must be very careful in putting syntax before semantics, especially for a programming language for writing mathematical software. For a programming language, we cannot just rely on the `common sense' of the compiler, as we would in a casual mathematical conversation between mathematicians. Syntax matters. I know this from concrete experience. I'm directly involved in the design (and implementation) of a programming language used by over 3 millions of progammers on the planet. And, having that huge number of users means that one get lot of feedback, suggestions, complaints, etc., especially on syntax (if the language is believed to have terrible syntax for bad or good). That I believe, provides quite a unique experience from the field. Let me cast my suspicion this way: I would like first to understand what people want to express -- I believe I understand the simplest of what people want to express. Once, we think we understand the semantics and its implications well enough. How to express it should follow. Once thing that this discussion has revealed is that we don't seem to understand well enough the semantics. | A good notation should help "suggest" a solution A good notation should reflect semantics. I'm skeptical in the efficacy of putting the cart before the horse. [...] | 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. -- Gaby _______________________________________________ Axiom-math mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-math
