Consider a recusive ascent/descent backend
Open
- Dominant language
- Haskell
- Stars
- 322
- Forks
- 86
- PR merge metrics
- No merged PRs in 30d
Description
See https://github.com/djspiewak/scala-bison, its [tool paper](https://www.sciencedirect.com/science/article/pii/S1571066110001118) and [the original paper on recursive ascent/descent](https://link.springer.com/chapter/10.1007/3-540-53669-8_70).
There's also the [Typed LR](https://www.cs.ox.ac.uk/ralf.hinze/publications/TypedLR.pdf) paper, which maybe is a preferrable embedding compared to plain recursive ascent-descent.
I expect that with a bit of tuning, such a parser can outperform happy's current table-driven backend because GHC will be able to inline functions.
Contributor guide
Assessment
This issue has not been assessed yet.