[racket] Flatten syntax and runtime phases?
On Jul 13, 2012, at 2:05 PM, Nick Sivo wrote:
> There were only a few places where breaking hygiene was a feature,
You might have an extremely deep understanding of macros, in which case you can ignore the next sentence.
Hygiene -- as it is used nowadays, not the thing for which I imported Barendregt's original term -- does not just prohibit certain idioms it also enables some that cannot be implemented with old macro system.
And yes, the cost you pay is that you need to learn a distinct notation. BUT I would argue that for true syntax programmers, this is a plus because it reminds them of the very important fact that syntax is evaluated at a very different time from run-time code, and that values flowing from one phase to another work only by 'accident'. [I understand enough to know that it isn't really by accident but in a sense it is and often it fails in subtle ways.]
-- Matthias