Please enable JavaScript in your browser!
Accueil
Explorer
Aide
Connexion
Matt
/
compilersnotes
Suivre
1
Voter
0
Fork
0
Code
Tickets
0
Pull Requests
0
Commits
1
Publications
0
Wiki
Aucune description
Branche:
master
Branches
Tags
master
compilersnotes
/
compwocont.md
compwocont.md
769B
Lien permanent
Historique
Raw
Summarise Contribution & Motivation
Both CPS and ANF inhibit some optimisations
Aim to get benefits of both
Extend direct-style lambda calculus by adding join points
How to infer join points
Join points can be recursive which gives new optimisation
Show that approach works in GHC
Methodology
Define new intermediate language Fj
Perform single pass to find let bindings that are join points
These are let bound functions that will never be captured in closure
This is simpler than contification because they only look for tail calls
Critical Assessment
Achieves big reduction in allocations for some programs
Other programs lose out on potential optimisations
Transformations can be applied broadly, even to call by value languages