3 ms·
Technically these are still unhygienic macros, because it relies on the programmer's carefulness to avoid accidental capture. Hygienic macros prevent capture by
by int3 13y ago
Technically these are still unhygienic macros, because it relies on the programmer's carefulness to avoid accidental capture. Hygienic macros prevent capture by default.
Still, nice work :) It'll be great to eventually have both types of macros available.
- lihaoyi 13y agoYeah; they are waaaay more hygienic than what we started with though. For example, it is incredibly easy to "get it wrong" trying to utilize these tools to make things hygienic, but in general that should cause the macros to fail pretty quickly (`NameError`) rather than continue working unhygienically, so you're not likely to accidentally capture anything. Not perfect, but not bad (for now) It would be great if someone who actually knows what he's doing (e.g. a Scheme `syntax-XXX` expert) could chip in with help/advice on how to proceed.