Please enable JavaScript in your browser!
Inicio
Explorar
Ayuda
Iniciar sesión
Matt
/
compilersnotes
Seguir
1
Destacar
0
Fork
0
Código
Incidencias
0
Pull Requests
0
Commits
1
Releases
0
Wiki
Sin descripción
Árbol:
4f76cd056e
Ramas
Etiquetas
master
compilersnotes
/
compwocont.md
compwocont.md
769B
Histórico
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