[plt-scheme] Problem with syntax-case macro under MzScheme 352
At 12:10 PM 9/9/2006, Eli Barzilay wrote:
>On Sep 9, Blake McBride wrote:
> >
> > I can't hardly imagine making it any more complicated. The simplest
> > things are made rocket science with define-syntax and friends. Lisp
> > macros may not be perfect but normal people (those who don't devote
> > their life to understanding the intricacies of syntax-case) can use
> > and understand it. Syntax-case is killing scheme.
>
>This paragraph is very arguable. It generally depends if by `the
>simplest things' you mean `macros that capture bindings' or `macros
>that respect lexical scope'. CL goes with the former, and Scheme with
>the latter.
I probably mean something like procedural macros that allow
you to specify exactly what you want without trying to do it in
some higher level 4th generational descriptive pattern language.
I believe there is an SRFI about this.
A procedural macro language is easier to understand in all but the simplest
cases. It is possible to have a procedural macro extension that is
hygienic. Descriptive languages are great for simple cases and
absolutely unwieldy or impossible for complex cases.
I know you understand syntax-case and friends but the ongoing volume of
questions about scheme macros on the net is indicative of a problem.
Average programmers should be able to use a languages without becoming
a language expert. And, I don't believe that the complexity is necessary.
(Sorry. I'm not directing any of this at you. This is a product of my ongoing
frustration over scheme's macro system. I spend a bunch of effort, basically
figure it out, don't use it for a while, and I'm back to ground zero. I almost
never use lisp macros but they are always clear to me.)
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20060909/7894d7f9/attachment.html>