# About me

**Programming Languages Research Group**at the School of Computer Science, University of Bristol. Before this, I also did my PhD and undergraduate degree (MEng in Computer Science) at Bristol. Some of my interests include functional programming, type-level programming, and embedded domain-specific languages.

**Research**

**λ**].

During my PhD, I investigated how algebraic effects and effect handlers can be used to improve the design of probabilistic programming languages. I used these techniques to implement a type-safe, modular framework for programmable inference [

**λ**], and an embedding of probabilistic models as first-class citizens [

**λ**].

Other projects I've led include the application of recursion schemes for implementing and training neural networks [

**λ**]; in particular, I show how neural networks can be represented as fixed-points of recursive data structures, and forward and back propagation as folds and unfolds over these structures.

**Papers, etc.**

** Effect Handlers for Programmable Inference ** (preprint, proceedings)

M.Nguyen, R.Perera, M.Wang, S.Ramsay

^{ Haskell Symposium, 2023}

** Towards Type-driven Data Science in Idris ** (abstract, repository)

O.Kammar, K.Marek, M.Nguyen, M.Steuwer, J.Walters, R.Wright

^{ Languages for Inference Workshop, 2023}

**Folding over Neural Networks** (preprint, proceedings)

M.Nguyen, N.Wu

^{ Mathematics of Program Construction, 2022}

**Modular Probabilistic Models via Algebraic Effects** (preprint, proceedings, repository)

M.Nguyen, R.Perera, M.Weng, N.Wu

^{ International Conference on Functional Programming, 2022}

**Linked visualisations via Galois dependencies** (preprint, proceedings, repository)

R.Perera, M.Nguyen, T.Petricek, M.Weng

^{ Principles Of Programming Languages, 2022}

**Composable, Modular Probabilistic Models** (extended abstract, poster)

M.Nguyen, R.Perera, M.Weng

^{ International Conference on Functional Programming (SRC), 2021}

**Composable, Modular Probabilistic Models** (paper)

M.Nguyen, R.Perera, M.Weng

^{ Implementation and Application of Functional Languages, 2021}

**Modelling Neural Networks with Recursion Schemes** (dissertation, poster, repository)

M.Nguyen, N.Wu

^{ Masters Dissertation @ University of Bristol, 2019}

**Talks**

**Effects and Effect Handlers for Probabilistic Programming**

^{ PhD Defence, Sep 2023}

**Effect Handlers for Programmable Inference**

^{ Haskell Symposium, Sep 2023 (video)}

^{ Tech Talk @ The Alan Turing Institute, May 2023 }

**Modular Probabilistic Models via Algebraic Effects**

^{ International Conference on Functional Programming, Sep 2022 (video, slides)}

^{ Programming Languages Seminar @ University of Edinburgh, May 2022 (slides)}

^{ Tech Talk @ The Alan Turing Institute, Jan 2023}

**Folding over Neural Networks**

^{ Mathematics of Program Construction, Sep 2022 }

**Composable, Modular Probabilistic Models**

^{ International Conference on Functional Programming (SRC), Sep 2021 (video, slides)}

^{ Implementation and Application of Functional Languages, Sep 2021 (video, slides)}

**Work + Studies**

**Sep 2023 - Current**

**EPSRC Doctoral Prize Fellow in Programming Languages**

*hosted by*Cristina David @ University of Bristol

**Jun 2022 - Sep 2022**

**Research Intern: Dependently typed probabilistic programming for Idris2**(repositories)

*supervised by*Ohad Kammar @ University of Edinburgh

**Jan 2020 - Sep 2023**

**PhD in Programming Languages**

*supervised by*Meng Wang and Roly Perera @ University of Bristol

**Sep 2016 - Oct 2020**

**MEng in Computer Science**(first class)

*dissertation supervised by*Nicolas Wu @ University of Bristol

**Teaching**

**2023**

**Supervisor**for a 2nd year CS student in their research internship, on

*"Typed Functional Programming Techniques for Probabilistic Programming"*@ University of Bristol.

**2020 - 2021**

**Supervisor**for a 4th year CS student in their masters dissertation, on

*"Deep Learning Architectures As Pure Functions"*@ University of Bristol.

**2019 - Current**

**Seminars and guest lectures**to the Programming Languages Research Group and CS undergraduates @ University of Bristol.

**2017 - 2022**

**Teaching assistant**for the Functional Programming, Language Engineering, and Advanced Topics in Programming Languages units @ University of Bristol.

**Awards**

*ESPRC Doctoral Prize Fellowship Award for the proposal "Robust, Reusable Computational Models via Typed Functional Programming"*

2021

*1st Place in the ICFP ACM Student Research Competition*

2019

*Best Machine Learning Dissertation, Bloomberg Award, University of Bristol*

2018

*Best Third Year Group Project, Graphcore Award, University of Bristol*

2017

*Top Ten Achieving CS Students, Netcraft Award, University of Bristol*