axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Lazyness in lexing Boot and Spad


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Lazyness in lexing Boot and Spad
Date: 26 Feb 2007 18:34:20 -0600

address@hidden writes:

| > 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.

I agree with the goal, except on the mean: src/boot/ should be
improved instead of being replaced by a system directly written in
Lisp.  I've spent a fair amount trying to understand that part of the
system.  I conjecture that anything that would be reinvented in Lisp
would be inferior and the resource is best spent documenting and
improving it.  For example, pattern matching let us directly express
algorithms and ideas, instead of the current circumvolutions of
predicate testing and wild casting.  src/boot/ already has pattern
matching, along with algebraic data type definition.  Initial testing
shows that the translator translates just fine.  It is regretful that
it has not been used in the rest of src/interp.

[...]

| But I think a parser rewrite waits on the language definition.

Yes.

| 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.

So does Boot.

| Thus the "overhead" of letting algebra introduce new syntax is
| minimal since even the console readtables can be changed on the fly.

yes, and many aspect of the current implementation reminds me of use
Template Haskell

        http://www.haskell.org/th/

in domain specific languages.

-- Gaby




reply via email to

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