Current Position: Postdoc Researcher with Prof. Milind Kulkarni at Purdue University (PurPL).

Education: PhD in Computer Science from Northeastern University (NEU PRL, 2023).

Contacts: a​@​pelenitsyn.top, Calendly.

Professional links:      

Social links:        

Latest News (all news)

Research

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.

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).

Programming

I’m passionate about functional programming and Haskell in particular. I have been using Haskell now and then since about 2011. Lately, my two main Haskell-related endeavors are:

My past contributions to the Haskell ecosystem include patching GHC, the main Haskell compiler, and developing a prototype bridge between GHC and the Bazel build system during my internship at Tweag.

More technical interests

More generally, I’m interested in programming (or, more generally, “software”) languages as they pertain to software and systems, including

  • programming languages’ ecosystems (especially, Haskell and Julia ones),
  • build systems, such as Cabal and Bazel, and software package managers, especially the Nix package manager and NixOS,
  • verified software via interactive theorem provers and dependent types, such as Coq, Agda, and Idris,
  • reproducible research and related virtualization and containerization technologies (Docker, etc.),
  • modal editing (in the spirit of vi) and (Doom) Emacs, Linux and Open Source Software.