guile-devel
[Top][All Lists]
Advanced

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

Re: Is gentemp or gensym "safe"?


From: Rob Browning
Subject: Re: Is gentemp or gensym "safe"?
Date: 25 Apr 2001 16:02:39 -0500
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

Michael Livshin <address@hidden> writes:

> I believe this is undefined, and for good reason: you don't want to
> mix the meta-language (the one you use to build syntax) with the
> target language.  well, compiler writers really don't want you to.

Hmm, is there a standard way to write your complex transformer without
having to expose "illegal" syntaxes publically?

For example, I've seen:

  (define-syntax foo
    (syntax-case ()
      ((foo ()) something)
      ((foo (x-1 x-2 ...)) (foo "do-something-internal" x-1 x-2 ...))
      ((foo "do-something-internal" x ...) blah-blah-blah)
      etc.))

so the author uses a bunch of strings in normally illegal places to
handle branching to cases that finish the processing.  However, this I
presume means that you've now make things like

  (foo "do-something-internal" 1 2)

legal syntax which IMO is broken.

That's why I was trying to create the hidden "helper" macros.

-- 
Rob Browning <address@hidden> PGP=E80E0D04F521A094 532B97F5D64E3930



reply via email to

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