Prior to my Ph.D., I had worked on an array programming language, APL, for five years. Dr. Wai-Mee Ching and I designed and implemented a new programming language, ELI (wiki | home), which is a dialect of APL. ELI, as a high-level array programming language, provides a large set of primitives, and it begins to add support for basic database operations within the language.
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 latest project can be found on GitHub.
- [ 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, Joseph Vinish D’silva, Hongji Chen, Bettina Kemme, and Laurie Hendren, HorseIR: Bringing Array Programming Languages together with Database Query Processing, Proceedings of the 14th Symposium on Dynamic Languages, (DLS '18), Coming soon.
David Herrera, Hanfeng Chen, Erick Lavoie, and Laurie Hendren, Numerical Computing on the Web - Benchmarking for the Future, Proceedings of the 14th Symposium on Dynamic Languages, (DLS '18), Coming soon.
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.
Email: firstname.chen [AT] mail.mcgill.ca