HVM
HVM copied to clipboard
Add a Background.md document?
Hi,
First of all, implementing evaluation under lambdas is really cool! Thank you.
Second, could you please add some references or links to either HOW.md or a new Background.md document? I see that you mentioned some links in issue #60:
- https://www.researchgate.net/publication/235778993_The_optimal_implementation_of_functional_programming_languages
- https://arxiv.org/abs/1701.04240 Also, I would be interested to see a figure illustrating the reduction steps that HVM does in pictorial form.
Also, a comparison with Thyer's thesis on "Lazy Specialization" would be helpful. It seems like he suggests that optimal evaluation has too much overhead, and that optimal evaluation requires not just sharing, but also determination of an optimal reduction order.
Also perhaps Sinot's "Complete laziness: a natural semantics" (https://www.sciencedirect.com/science/article/pii/S1571066108001631)
I was thinking that something akin to to this Background.md
doc, to elaborate on the theoretical context of the project, would be great. Though, I think I wouldn't come up with something decent myself. Maybe @rigille can help.
Related to #20
Very interesting discussion to propose an alternative lambda calculus: Parsimonious Types and Non-uniform Computation https://lipn.univ-paris13.fr/~mazza/papers/Lpoly.pdf
A lambda calculus for the HVM #97