Research
I aspire to build machine learning applications that are painless
to compose, easier to reason about, and safer to use.
I work towards these goals by studying the design of programming languages.
I focus on developing the
Hakaru probabilistic programming system
as part of
Prof. Chungchieh Shan's group.
I have also built a library for composing MCMC sampling algorithms, which can be found
in the mcmcsamplers
Haskell package.
Publications
 Probabilistic inference by program transformation in Hakaru (system description)
 Praveen Narayanan, Jacques Carette, Wren Romano, Chungchieh Shan, and Robert Zinkov.

FLOPS 2016 (13th international symposium on functional and logic programming).
 Slides, presented in Kochi, Japan, Mar 4 2016.
 Building blocks for exact and approximate inference
 Jacques Carette, Chungchieh 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 Chungchieh 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:
 PLWonks talk series at Indiana University, Bloomington, Nov 21 2014.
 Seminar on probabilistic programming, Indiana University, Bloomington, May 8 2014.
 Graph algorithms in a guaranteeddeterministic 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 ^{4}He solid dynamics.