axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: Boot, Virtual Machine


From: Stephen Wilson
Subject: Re: [Axiom-developer] Re: Boot, Virtual Machine
Date: 22 May 2007 22:51:18 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Gaby,

Thanks for responding.

Gabriel Dos Reis <address@hidden> writes:
>    The Boot macro system was there before I got interested in Boot.

Do your have plans to expand on its current facilities?

> Basically you define Boot macros the same way you define Boot
> functions except that you replace the "==" token with "==>"
> For example, if you can write the memeq macro as:
> 
>    memeq(e,l) ==>
>      MEMBER(a,l, KEYWORD::TEST, function EQ)

OK.  My curiosity was aroused since you claimed that Boot macros would
suffice in place of Lisp macros.  I was hoping for something more
substantial than this.

I have not been involved in this community for a long time, so I did
not want to patronize you with a definition of `interesting'.

In Lisp, the correspondence between data and code is fundamental.

[snip]

> At some point, I had a patch to clean up the translation but:
>   (1) there seems to be no use of macros in Boot codes

I don't code boot, so OK.  Thus, no sense in trying to define a Lisp
equivalent macro system.

>   (2) Given (1), it did not seem to be a pressing issue

I would agree, given (1).

>   (3) Nobody raised the issue of not knowing how to write macros
>       int Boot.

Whenever I read Boot, I just macroexpand it mentally into Lisp
anyways.

> Note also that one always have the escape character (!) to 
> insert raw Lisp code if one really wants to.

I vaguely recall this facility, but the memory does not jive with my
concept of Lisp macros at any level.

> Is there any contrived used of macros in Axiom that is not covered by
> the above scheme?

Well, there may very well be a few examples in the *.lisp.pamplet
files.

> 
> -- Gaby

Sincerley,
Steve





reply via email to

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