4 ms·
Explicit (and implicit) renaming macros in Chicken
- Ericson2314 10y agoThe 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 10y agoGasbichler's implementation of hygiene (in "Fully parameterized, first-class modules with hygienic macros") actually uses De Bruijn indexes.
- Ericson2314 10y agoThanks! It isn't everyday that one has a thesis cited to them on HN, unfortunately.
- pareidolia 10y agoThe name De Bruijn has two words.
- Ericson2314 10y agoSorry. I keep on making this mistake for some reason.