axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Lazyness in lexing Boot and Spad


From: daly
Subject: [Axiom-developer] Lazyness in lexing Boot and Spad
Date: Mon, 26 Feb 2007 17:45:57 -0600

> Is the lazyness actually beneficial?

I do not have knowledge of the internals of boot, which was
designed and written entirely by Dick Jenks and Bill Burge.
There were many parsers for Axiom and this was a research
area for Bill. I suspect that the DELAY you see in the zipper
parser was just another research experiment, not related to
the delay in recent languages in any way.

Frankly I believe the whole thing should be rewritten using the
syntax and semantics of Aldor but implemented in lisp, following 
the original scratchpad project plan.

The C based version can never reach into the axiom algebra tree
where the real value of axiom lies. Most of the functionality of
Aldor already exists. A cleanly designed and implemented parser
would go a long way toward making the project a stronger research
platform, both for language and for algebra. We could remove all
of boot and its complications and have a clearly specified AST
layer that users could access. Indeed, done properly and carefully
documented a new parser would allow an algebra file to define its
own input syntax, similar to it's ability to define its own output
syntax. Thus a quantum physics user could implement the "bra" and
"ket" operators, handle greek letters, etc.

But I think a parser rewrite waits on the language definition.
I don't think it would benefit us to be overly religious about
the language points at this time. It would be more important to
be able to parse what exists cleanly and make the parser extensible
from algebra. Lisp gives us the unique ability to manipulate the
intermediate language forms in the same implementation language.
Thus the "overhead" of letting algebra introduce new syntax is
minimal since even the console readtables can be changed on the fly.

Tim





reply via email to

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