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.

Professional links:    

Social links:        

🇺🇦 As a Russian national, I strongly condemn the war started by the Russian government in Ukraine on February 24th 2022.

Research Interests. I am broadly interested in programming languages and compilers with an angle to performance assurance. The central motif of my research has been enabling efficient high-level programming whether through types, memory layouts, or utilizing modern hardware. My professional experience is laid out in my Curriculum Vitæ, and the list of academic publications is available on Google Scholar.

Latest News (all news)

Research Bio

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:

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: