I study the design of composable and verifiable tools that deal with uncertainty.

I help develop the Hakaru probabilistic programming system as part of Prof. Chung-chieh Shan's group. Here you can find reusable building blocks for composing Bayesian inference methods. I've also designed some fun combinators for specific MCMC sampling algorithms in the mcmc-samplers Haskell library.

Refereed conference and workshop papers

More support for symbolic disintegration
Praveen Narayanan and Chung-chieh Shan.
Probabilistic programming languages, semantics, and systems at POPL 2018.
Symbolic conditioning of arrays in probabilistic programs
Praveen Narayanan and Chung-chieh Shan.
ICFP 2017 (22nd ACM SIGPLAN international conference on functional programming).
Video (talks starts around 46:20), and slides, presented at Oxford University, UK, Sep 4 2017.
Probabilistic inference by program transformation in Hakaru (system description)
Praveen Narayanan, Jacques Carette, Wren Romano, Chung-chieh Shan, and Robert Zinkov.
FLOPS 2016 (13th international symposium on functional and logic programming).
Slides, presented at Kochi University of Technology, Japan, Mar 4 2016.
Building blocks for exact and approximate inference
Jacques Carette, Chung-chieh Shan, Praveen Narayanan, Wren Romano, and Robert Zinkov.
Black box learning and inference workshop at NIPS 2015.
Poster, presented at the workshop in Montréal, Dec 12 2015.
A combinator library for MCMC sampling
Praveen Narayanan and Chung-chieh Shan.
3rd NIPS Workshop on Probabilistic Programming at NIPS 2014.
Poster, presented at the workshop in Montréal, Dec 13 2014.
Slides, from talks given at:
     PL-Wonks talk series at Indiana University, Bloomington, Nov 21 2014.
     Seminar on probabilistic programming, Indiana University, Bloomington, May 8 2014.
Graph algorithms in a guaranteed-deterministic language
Praveen Narayanan and Ryan R. Newton.
5th Workshop on Determinism and Correctness in Parallel Programming, at ASPLOS 2014.
Slides, from a talk given at the workshop in Salt Lake City, Mar 2 2014.

Teaching

Discrete structures for computer science - spring 2013
Introduction to programming I - fall 2012

Education

BA in Mathematics and Physics 2012, Cornell University.
Under Prof. Anil Nerode I studied modal logic, and in the Davis Lab I studied 4He solid dynamics.