> On Oct 19, 2017, at 11:08 AM, Konrad Hinsen <konrad.hin...@fastmail.net> 
> wrote:
> 
> Matthias,
> 
>> Please search my post for ‘hygiene’. I didn’t mention the word. Off — 
>> Matthias
> 
> Oops, you are right, sorry. Your example used "let", which is also what
> everybody used for discussing hygiene, so I jumped to conclusions.

[No. Basic hygiene discussions start with ‘or’, which uses ‘let’.]

> 
> Your argument is that pattern matching works at a higher level of
> abstraction than decomposing s-expressions, and that type-like
> annotations add useful error checking to those patterns. Point taken.
> And I certainly agree.
> 
> But higher-level abstractions are always specializations. For many macro
> situations, pattern matching is the right abstraction. For others it
> isn't, and then syntax-parse can become a pain. I have experienced this
> quite a few times.
> 
> So let me reformulate my original suggestion: it would be nice if
> syntax-parse would let me step down one level of abstraction when
> that seems the better choice.


Yes, on rare occasions, Racket programmers need to use the FFI 
to link in C libraries, C developers need to include ASM, and 
so on. But when we can, we should really stick to high-level 
linguistic constructs when possible and available, especially 
when they provide a safer way of doing things. 

As Matthew B points out, the cool thing in the macro world is that
the levels are much more fluid than in the world of separate complete 
languages. So syntax-rule is a nice macro over syntax-rules, which is
a macro over syntax-cases, which is a macro over syntax-parse, though
honestly I can’t see why syntax-cases is around. I have no doubts that
syntax-rule is cool and syntax-rules is okay too. If I have time, I’d 
much rather work on adding expressive power to syntax-parse and the
expander than making more such macros. 

— Matthias

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to