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 | iBooks), 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, Laurie Hendren, Bettina Kemme, HorsePower: Accelerating Database Queries for Advanced Data Analytics, Proceedings of the 24th International Conference on Extending Database Technology, (EDBT’21), pp. 361-366, March 2021.
Hanfeng Chen, Alexander Krolik, Bettina Kemme, Clark Verbrugge, and Laurie Hendren, Improving Database Query Performance with Automatic Fusion, Proceedings of the 29th International Conference on Compiler Construction, (CC'20), pp. 63-73, February 2020. (Best paper finalist)
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), pp. 37-49, November 2018.
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), pp. 88-100, November 2018.
Hanfeng Chen, Wai-Mee Ching, and Laurie Hendren, An ELI-to-C Compiler: Design, Implementation, and Performance, Proceedings of the 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