axiom-math
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re


From: Gabriel Dos Reis
Subject: [Axiom-math] Re: [fricas-devel] Re: [open-axiom-devel] [fricas-devel] Re: [fricas-devel] Re: [fricas-devel] Re: iterators and cartesian product.
Date: Wed, 24 Oct 2007 09:58:52 -0500 (CDT)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]