
Explicit (and implicit) renaming macros in Chicken - zephyrfalcon
https://wiki.call-cc.org/explicit-renaming-macros
======
Ericson2314
The end result is what everyone should agree on, but I prefer to view hygiene
as name resolution lexically on the quoted syntax.

Then renaming is just one possible implementation. Pointer graphs are
another—but that's just malloc playing the role of gensym. The coolest of all
would be something along the lines of DeBruijn indexes: determinism and normal
forms ftw!

~~~
ruricolist
Gasbichler's implementation of hygiene (in "Fully parameterized, first-class
modules with hygienic macros") actually uses De Bruijn indexes.

~~~
Ericson2314
Thanks! It isn't everyday that one has a thesis cited to them on HN,
unfortunately.

