Prior to my Ph.D., I had worked on an array programming language, APL, for five years. I collaborated with Dr. Wai-Mee Ching on creating a new programming language, ELI(wiki | homepage), which was an ASCII version of APL; At beginning of my research at McGill, I worked on automatic vectorization for MATLAB, which is a dynamic language widely used in the field of engineering; Currently, I'm interested in combining array programming and in-memory database system to improve the performance of database query processing. The details of our project can be found on GitHub.
Email: firstname.lastname [AT] mail.mcgill.ca
- [ Access ] HorsePower, a framework for optimizing database queries
- [ Access ] Mc2Mc, a MATLAB to MATLAB source code translator for MATLAB vectorization
- [ Access ] ELI, a simple system for array programming
- [ Access ] ECC, an ELI to C compiler
Hanfeng Chen, Wai-Mee Ching, and Laurie Hendren, An ELI-to-C Compiler: Design, Implementation, and Performance, 4th ACM SIGPLAN International Workshop of Libraries, Languages and Compilers for Array Programming (ARRAY '17), pp. 9-16, June 2017.
Hanfeng Chen, Alexander Krolik, Erick Lavoie, and Laurie Hendren, "Automatic vectorization for MATLAB". The 29th International Workshop on Languages and Compilers for Parallel Computing (LCPC '16), Rochester, NY, USA, pp. 171-187, September 2016.
- COMP 302: Programming Languages and Paradigms, Winter 2018
- COMP 409: Concurrent Programming, Winter 2018