axiom-developer
[Top][All Lists]
Advanced

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

RE: [Axiom-developer] #pile vs. non-#pile


From: Bill Page
Subject: RE: [Axiom-developer] #pile vs. non-#pile
Date: Sun, 20 Aug 2006 17:58:19 -0400

On August 20, 2006 4:32 PM Gaby wrote:
> ... 
> When discussing _language syntax_, what else can you expect
> except personal experience?

I believe there is a **lot** more to syntax than just personal
experience. (Of course you know that...) There are some very
good formal tools for describing the syntax natural languages
which carry over well to programming languages. The basic point
is to be able to deduce structure from some serialization, i.e.
from a 1-dimensional linear representation of that structure. But
these formal languages tools do have some limitations. Although
serialization certainly has wide application, humans and computers
are not limited to communicating in this manner. How often have
you heard: "A picture is worth a thousand words."?

Mathematicians have understand the importance of this concept
for some time. This is certainly clear in graph theory and I
would claim that it is evident in the wide spread use of commutative
diagrams in category theory.

The point of using indentation to representation program structure
actually has less to do with syntax and more to do with the
expressiveness of the language. You are probably not arguing that
indentation has no purpose in programming languages but rather that
it should be limited to illustrating program structure for human
readability and not for compiler construction. But I would argue
the other way. I think we need to do more to aid the communication
between human and computer and that encoding program structure by
indentation is only one small step in that direction. There are,
for example some rather well developed programming languages which
make use of a graphical input to define programs - so called
"visual programming".

http://en.wikipedia.org/wiki/Visual_programming_language

BTW, There are some statistics (probably not very reliable) which
suggest that Python is one of the most "expressive" widely used
programming languages ever invented:

http://en.wikipedia.org/wiki/Comparison_of_programming_languages#Expressiven
ess

I think it would be very interesting to consider the Axiom library
from the point of view of these "statement ratio" measures. It seems
to me that SPAD would probably rate even higher on this scale.

> Call it anecdotal if you like, but syntax is a primary tool to
> express ideas.  It should not get in the way.

I did not call syntax anecdotal. To say it another way: I think your
personal experience with using indentation in Haskell is not a
reliable guide on which to base judgements about syntax.

> ... 
> | I would be very interested if you could point to any instance in
> | the SPAD coding in the Axiom library of a logic error due to
> | incorrect indentation.
> 
> That is a meaningless request.

Why is it meaningless? I thought you were arguing that #pile notation
might lead to a larger number of logic errors than in those programs
that use the {]; decorations.

> Ask Tim what he thinks about the pile syntax; he knows the Axiom
> library and worked on it. 
>

Tim is not the only person (or even the main person) who worked
on the Axiom library.
 
> I'm just glad Adlor provided a better alternative.
> 

As far as I know, Aldor processes both #pile and non-pile inputs in
the same way. The use of #pile mode just increases the expressiveness
of the language a little.

Regards,
Bill Page.






reply via email to

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