Developed tools and ideas that perform sound and safe fusion for sequences of imperative tree traversals that visit the same tree. The tools are implemented as clang-tools that performs source to source transformations.
papers:
L. Sakka, K. Sundararajah and. M Kulkarni “Sound, Fine-Grained Traversal Fusion for Heterogeneous Trees” in Programming Languages, Design and Implementation, PLDI 2019, Phoenix, USA.
L Sakka, K Sundararajah, and M. Kulkarni. “TreeFuser: a framework for analyzing and fusing general recursive tree traversals”. Proc. ACM Program. Lang. 1, OOPSLA 2017, Vancouver, Canada.
Video that summarize our work in fusing imperative traversals
PLDI 2019 Grafter.
OOPSLA 2017 Treefuser
Develop techniques to compile functional programs to operate over serialized or partially serialized versions of the algebraic data types, rather than over the usual natural pointer-based representations.
M. Vollmer, C. Koparkar, M. Rainey, L. Sakka, M. Kulkarni, R. Newton “LoCal: A Language for Programs Operating on Serialized Data” in Programming Languages, Design and Implementation, PLDI 2019, Phoenix, USA.
M Vollmer, S Spall, L Sakka M. Kulkarni and R. Newton “Compiling tree transforms to operate on packed representations”, ECOOP 2017.
Work on a practical implementation for deforestation using the classic fold/unfold approach, combined with other key optimizations that makes it practical and effective.
IFL 2020 talk