[gambit-list] Thoughts on Scheme

Meng Zhang wsxiaoys.lh at gmail.com
Sat Jan 5 07:16:05 EST 2013


Great post Mikael! So happy to read your thoughts.

On Sat, Jan 5, 2013 at 6:37 PM, Mikael <mikael.rcv at gmail.com> wrote:

>
> The syntactic-closures based macro systems (syntax-rules/syntax case
> including define-syntax, syntax-rules, let-syntax, letrec-syntax) bring
> incredible complexity and with that low debuggability through a very
> complex identifier concept based a kind of duality of the identifier symbol
> in itself and the syntactic environment in which it is used in a particular
> instance, and brings a complex API for handling macros with this, that by
> nature is not Schemy and not suited for debugging.
>
> Per came with the suggestions above based on having spent approx 6 months
> fulltime on developing the Black Hole module system, which does hybrid
> define-macro and syntactic closures expansion.
>
> There might be some caveat I didn't get, but, I'd guess you could actually
> make a macro expander that supports both an alias macro system as per above
> and a syntactic-closures for compatibility with code that uses it, possibly
> by splitting expansion into two expansion phases, thus isolating all the
> identifier-related complexity.
>
>
While talking about the syntactic-closures, If we ignore syntax-case, I'll
disagree that it brings "incredible" complexity. I've been uncertain
on syntactic-closures for years, while this Holiday I finally got spare
time reading its implementation in riaxpander/chibi-scheme, I found
the concept of it is quite straight forward. Though I deadly missed an
easy-to-understand, concrete implementation with document for it during
the learning process.

I've cloned such a system in gambit, and keep digging on how to
integrate hygiene with module system and gambit's compiling process.

Thanks
Meng
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20130105/6547a922/attachment.htm>


More information about the Gambit-list mailing list