One of these days I want to give a compiler talk called "name lookup is the absolute worst" that's just 100 slides of screaming goat memes.
Conversation
As a counter-point, what language(s) would you say have "good" name lookup rules, where "good" ?= easy and convenient for the programmer as well as the implementer?
1
Possibly Forth. Or APL or something. Combinatory forms rather than binding forms.
2
5
Name binding is so frustrating arrrgh
1
1
I even made a thing for this, but it's slowww github.com/brendanzab/mon - was thinking of going nominal and using visitors like in Visitors Unchained… that way I can fuse traversals together… but apparently you pay for it in other ways. 😭
3
2
2
Replying to
I should note that lots of it was inspired be ' Unbound library - it was super helpful in figuring this stuff out! Even if I was going to go with a visitor-style approach, I'd want to see if I could still specify the scoping using type combinators - it's really neat!
Yes I attended a thorough (and significantly over my head) set of lectures on that work a couple summers ago; mentally bookmarked for future use, glad to see a rust incarnation :)
1


