Dear Bill,

> -----Original Message-----
> From: Bill Page [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, November 02, 2005 4:50 PM
> To: Weiss, Juergen
> Cc: axiom-developer@nongnu.org
> Subject: RE: [Axiom-developer] RE: Boot vs. Lisp
> 
> 
> Of course ANSI lisp includes 'destructuring-bind' and other
> operators which support this kind of thing.
> 
> http://www.cs.queensu.ca/software_docs/gnudev/gcl-ansi/gcl_443
> .html#SEC443
> http://www.bookshelf.jp/texi/onlisp/onlisp_19.html
> 
> "Destructuring is a generalization of assignment. The
> operators setq and setf do assignments to individual
> variables. Destructuring combines assignment with access:
> instead of giving a single variable as the first argument,
> we give a pattern of variables, which are each assigned
> the value occurring in the corresponding position in some
> structure."

In MAC Lisp, I think, there was even a destructuring setq.
One can extend the Common Lisp syntax by macros
to get something like destructuring comparisons. (I did
a google search a few days ago, for destructuring setq --
I found  http://www.bookshelf.jp/texi/onlisp/onlisp_19.html)

But I think the BOOT syntax is much more concise. Much
of the current AXIOM code (interpreter and SPAD library
compiler) operates on lists representing parse trees of
the user input. Here the BOOT syntax is extremely handy.

As I said, a total rewrite with different data structures
may obsolete this advantage. But I think we are far away
from that aim.

And if a reimplementation is indeed going to happen,
we should certainly consider A# as the implementation
language. I cannot follow Tim's opinion, that it's level
is too high (can't find the reference though).

Regards

Juergen Weiss

Juergen Weiss     | Universitaet Mainz, Zentrum fuer Datenverarbeitung,
[EMAIL PROTECTED]| 55099 Mainz, Tel: +49(6131)39-26361, FAX:
+49(6131)39-26407
 


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to