About Me
My name is Maxime Chevalier-Boisvert and I’m a computer science student, currently pursuing a Ph.D. degree with a concentration in compilers. My thesis involves the design and implementation of novel optimization techniques for dynamic programming languages (e.g.: JavaScript, Python, etc.). I’ve dabbled in the past with compilers, 3D rendering, machine learning, game development, sound synthesis and electronics. This blog is an outlet for me to talk about my research, technological interests, hobbies and ideas.
Publications
Chevalier-Boisvert, M., Lavoie, L., Feeley, M. & Dufour, B. Bootstrapping a self-hosted research virtual machine for JavaScript: an experience report. Dynamic Language Symposium 2011.
Chevalier-Boisvert, M., Hendren, L. & Verbrugge, C. Optimizing MATLAB through just-in-time specialization. Compiler Construction 2010.
Chevalier-Boisvert, M. McVM: an optimizing virtual machine for the MATLAB programming language. Master’s thesis. McGill University. August 2009.
Talks
Coming soon: Higgs, an Experimental JIT Compiler written in D. DConf. May 2013.
Higgs, a Monitoring JIT for JavaScript. Air Mozilla. February 2013.
since you work on compilers, thought you might find this article by Rob Pike to be of interest: http://www.informit.com/articles/article.aspx?p=1941206
“…I was pair programming with Ken Thompson on an on-the-fly compiler for..”
What features in Ruby/Python/Javascript are particularly bad for type inference?
Dynamic loading of code, unrestricted eval, dynamic addition and removal of object fields. The JavaScript “undefined” type and the lack of exceptions thrown on errors.