axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] musings on notation


From: root
Subject: [Axiom-developer] musings on notation
Date: Tue, 10 Aug 2004 02:02:20 -0400

I'm reading "Hackers & Painters" by Paul Graham and pondering some
of his comments in relation to Axiom. 

Chapter 11 is about "The Hundred-Year Language". I've been aiming
Axiom at the "30 Year Horizon", which you've all heard from me before
so it's obvious why Paul's notion appeals to me. 

Paul makes the comment that programs are just notation and that we
ought to give thought to the idea of "designing" the notation so that
it says the things we want to say in an elegant way. In particular,
Axiom's notation is much closer to mathematics than most other notations.

Axiom, being basically mathematics, could use a large dose of this 
advice. Historically math has made progress based on notations (e.g.
0, dx/dy, matrices). At present the best we seem to strive for is to
mimic standard math notation on output as closely as possible.

However, I've been scratching at a more general idea that could be
explored in Axiom. Axiom adds some ideas new, novel, and unique in
mathematics which we have not recognized notationally. For example,
the idea of "process", the idea of "functors", or "provisos".

We have been limiting the idea of "process" to represent traditional
mathematical functions. We tend to adopt the notation f(x)=

However, one of the ideas we're pondering (indefinites) seems to me
to need a new notation. It is clear that one way to think about an
indefinite integer, for example, is as a loop. So, as Fateman pointed
out, we might want to raise a matrix M to an indefinite power N. This
could be expressed as 
  (let (X=I) for i in 1..N do X=X*M)

This is a procedural, semi-function, way of thinking about the solution.
We do not yet have a decent notation for a process. Such a notation
would be as valuable as the leap from summation to integration. It would
allow the "30 year horizon computational mathematician" to write process
objects, compute functions over processes as well as processes over
functions (which we now do). 

It might be time to consider a notation using distinct marks chosen
from a non-mathematical alphabet (such as a pictographic language
like chinese or japanese) to represent the new ideas.

Notation is a way to encapsulate thought. I think Axiom needs to 
pioneer a notation to encapsulate the ideas it presents (functors,
for instance) cleanly so we use mathematics (operators, proofs, 
state spaces, mappings) to think, compute, and communicate the ideas 
clearly.

Obviously I'm not the first to think of this issue so I'm musing in
public with the hope of getting references. I'll collect what I
can and set up a webpage devoted to the sources if there is enough
of a response.

Tim Daly
address@hidden
address@hidden






reply via email to

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