|
Current Position: Postdoc Researcher with Prof. Milind Kulkarni at PurPL, Purdue University. Education: PhD in Computer Science from Northeastern University (NEU PRL, 2023). Contacts: a@pelenitsyn.top, Calendly. |
🇺🇦 As a Russian national, I strongly condemn the war started by the Russian government in Ukraine on February 24th 2022.
Latest News (all news)
- Mar 2026: Accepted an offer from Commonwealth University of Pennsylvania to start as a tenure-track Assistant Professor in Fall 2026
- Jan 2026: Managed a new release of the Cabal build system and tool (3.16.1.0).
Research Interests & Bio
I am broadly interested in programming languages and compilers, and do occasional detours into HPC. The central motif of my research has been enabling efficient high-level programming. More on my professional experience is in my Curriculum Vitæ.
While on postdoc with Milind at Purdue (2023–now), I am looking into making irregular computations (tree traversals) more efficient via compilation or algorithm design for recent hardware. Our main topics are:
- functional programming with densely represented datatypes with the Gibbon compiler (e.g. Marmoset (ECOOP ’24) and Gibbon-GC (ISMM’24)),
- compilers for sparse tensors computations (e.g. SparseAuto (OOPSLA’24)),
- general-purpose computations on ray-tracing hardware (e.g. Arkade (ICS’24) — best paper award).
During my PhD at Northeastern (2018–2023) and RA at Czech Technical University (2017–2018), I was assessing the design and implementation of the Julia programming language (OOPSLA ’18, OOPSLA ’21, VMIL ’23). I’m still looking into Julia’s notion of type stability — the topic of my PhD dissertation.
During my teaching appointment at SFedU (2011–2016), I was working on generic programming techniques (PCS’15) and adviced students on topics in functional programming: datatype-generic programming (TFP’18 presentation and draft), monads for structuring effects (TMPA’17), linear types for expressing resource management and quantum computing.
During my graduate studies at SFedU (2007–2012, MSc in 2009), I worked on improving software designs for computer algebra and error-correcting codes in C++ using generic and metaprogramming (Prikl.Inf.’11, in Russian).
Technical Interests
I’m interested in programming (or, more generally, “software”) languages as they
pertain to software and systems, e.g.
programming languages’ ecosystems (especially, Haskell and Julia’s ones),
build systems and software package managers (especially, the Nix package manager and NixOS),
verified software via interactive theorem provers and dependent types (Coq, Agda, Idris),
modal editing (in the spirit of vi) and (Doom) Emacs, Linux and Open Source Software.
Check out:
- My contributions to the GHC Haskell compiler and the Cabal package manager — the pillars of Haskell ecosystem (fun fact: I’m one of the Cabal maintainers currently).
- Blog post about my internship at Tweag I/O in 2019 where I developed a bridge between GHC and the Bazel build system.