axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Boot/SPAD package syntax


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Boot/SPAD package syntax
Date: Tue, 5 Jun 2007 14:47:41 -0500 (CDT)

On Tue, 5 Jun 2007, Stephen Wilson wrote:

| I think I have a picture now. I perceive there to be three boots. Old,
| New, and New-New (your improved boot).

That picture might be inaccurate -- ask Tim about all the gory details. :-)

[...]

| > | > | Given the lack of specification, and given the lack of use of such a
| > | > | feature, these are not bugs in Axiom by any stretch.
| > | > 
| > | > In this specific case, the bugs I've came across happen to be in the
| > | > manually written Lisp parts, like restart -- I believe I already
| > | > mentioned that.
| > | 
| > | Ok, I asked what the package call operator ' (or ::) means, and now
| > | your just saying that if CL'FOO has undefined behaviour its a bug in
| > | Axiom as opposed to a bug in the language semantics of Boot (or SPAD
| > | for that matter).
| > 
| > That is not what I'm saying.
| 
| The only other interpretation I can come to by rereading the
| discussion is that CL'FOO (or CL::FOO) is effectively an escape syntax
| into Lisp, and as such Boot does not define semantics for such
| constructs.  Similar to C's asm.

C does not have asm.  C++ does.

Both Boot and Spad have the translation time )lisp system command
to excute Lisp codes, but that does not include runtime codes.

New Boot (Shoe) also has the esclamation (!) character as escape to Lisp:
You can include arbitrary non-toplevel Lisp forms (as you would include
arbitrary asm in C++) through the escape character.  

In "pure" Spad, "package calling" Lisp is the only effective means of going
at the assembly language level.  It is very useful occasionally.  For example,
it is used for SExpression.  I've used it to provide a Spad domain view
on top of the s-expression abstract syntax tree produced by the old
compiler.  I'm writing a new library for the new compiler.

| If this is correct, my appologies.  I was under some misunderstanding
| that Boot was going to abstract away such things.  I really did think
| it was possible that Boot had its own notion of `package', not
| necessarily conincident with Lisp's.

The original inventor of Boot did not go that far -- and I don't consider
going that far either.  I would do otherwise only if presented with
compeling cases.  If nothing else, the translation to Lisp should be as simple
as possible, and at the same time offering a higher level view of the codes.

[...]

| If anything, I would highly recommend Boot be updated to emit ANSI
| Common Lisp.

I'm working on that.

[...]

| Yes.  I will modify the parser to emit a message on encountering the
| construct.

Exactly what I would have done.
Thanks!

-- Gaby




reply via email to

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