Supercompilation (supervised compilation) is a program transformation technique based on the construction of a full and self-contained model of the program. We illustrate the fundamental ideas and methods of supercompilation with a working supercompiler called SC Mini [1, 2] for a very simple purely functional language.
[1] Ilya Klyuchnikov and Dimitur Krustev. The Sc Mini Supercompiler. The Monad Reader, (23) (2014). (Appendix to the article “Supercompilation: Ideas and Methods”).
[2] https://github.com/ilya-klyuchnikov/sc-mini
@jrootham: btw, I think this is a simpler place to start from than "Supercompilation by Evaluation".
https://themonadreader.files.wordpress.com/2014/04/super-final.pdf
Supercompilation (supervised compilation) is a program transformation technique based on the construction of a full and self-contained model of the program. We illustrate the fundamental ideas and methods of supercompilation with a working supercompiler called SC Mini [1, 2] for a very simple purely functional language.
[1] Ilya Klyuchnikov and Dimitur Krustev. The Sc Mini Supercompiler. The Monad Reader, (23) (2014). (Appendix to the article “Supercompilation: Ideas and Methods”). [2] https://github.com/ilya-klyuchnikov/sc-mini
@jrootham: btw, I think this is a simpler place to start from than "Supercompilation by Evaluation".