4 ms·
It is nice for languages where it is a first-class concept (e.g. Twelf, which is a logic/theorem language), but it gets complicated very quickly if you want to
by Athas 10y ago
It is nice for languages where it is a first-class concept (e.g. Twelf, which is a logic/theorem language), but it gets complicated very quickly if you want to do AST transformations.
I cannot recommend HOAS outside of very narrow areas.
- gelisam 10y agoThe [Beluga language](http://complogic.cs.mcgill.ca/beluga/ http://complogic.cs.mcgill.ca/beluga/) is a variant of Twelf which aims to make such transformations much easier. Full disclosure: Brigitte Pientka was my supervisor. I did not work on the compiler, but I did make the language's logo.