mailing-list for TeXmacs Users

Text archives Help


Re: [TeXmacs] use-syntax for TeXmacs guile modules


Chronological Thread 
  • From: Henri Lesourd <address@hidden>
  • To: Lionel Elie Mamane <address@hidden>
  • Cc: address@hidden
  • Subject: Re: [TeXmacs] use-syntax for TeXmacs guile modules
  • Date: Thu, 19 Oct 2006 14:58:11 +0200

Lionel Elie Mamane wrote:

Yes, but, if I understand well, in order to use the "classical

hygienic macros" of R5RS scheme in guile, you have to "(use-syntax
(ice-9 syncase))" first.

Certainly not : (define-macro) works immediately, without the need
of anything more.

But as far as macros are concerned (i.e. "(define-macro ...)"
stuff), it works (or there should be a way to have them work)
effectively perfectly on all the implementations / embeddings of
Scheme, etc.


As far as I know, no. define-macro is *not* standard Scheme and will
work in any implementation of Scheme, while the R5RS macros
(define-syntax, let-syntax, ...) are supposed to.


Here we are.

As a matter of fact, as far as the Scheme standard is concerned,
you are indeed right...

But in practice, the standard Scheme (define-syntax ...), (let-syntax ...), etc.
are completely unusual and unintuitive from the lisp family of languages
point of view. The one which **is** intutive, and corresponds to the
traditional way of doing macros is clearly the (define-macro ...) construct.

Therefore, from a pragmatic point of view, it could be considered better
to use this one : first, more people can read your code, and next, your
programs become more easily translatable to one of the languages of
the Common Lisp family (of course, one doesn't always need this).




Archive powered by MHonArc 2.6.19.

Top of page