Spreadsheets are one of the most widely used functional languages today, if not the most widely used1. My research is centered on how end-users with domain-specific knowledge who use spreadsheets as their main computational model, can transparently leverage increasingly abundant multi-core processors.

More specifically, I have developed an algorithm to statically partition a spreadsheet into load-balanced groups which can then be scheduled to run on shared-memory multicore processors. It is nspired by the work of Sarkar et al.2 on the SISAL language for scientific computing. The algorithm is implemented in Funcalc, a spreadsheet research prototype application for experimentation and allows users to define their own functions using sheet-defined functions[^2, ^3].

You can check out my list of publications for other research related to my PhD project.

Other interests

These involve parallel programming (CPU/GPU), image formats, compression algorithms, game programming, API design, vim/neovim and optimisation techniques in general.

  1. “Counts and earnings of end-user developers”, Chris Scaffidi, 2017 (link

  2. “Partitioning and Scheduling Parallel Programs for Multiprocessors”, Vivek Sarkar, 1989, Research Monographs In Parallel and Distributed Computing, IBM Thomas J. Watson Research Center, Cambridge, Massachusetts, MIT Press