Assistant Professor
Department of Computer Science
University of Toronto
Research Scientist,
Google DeepMind
Faculty Affiliate,
Schwartz Reisman Institute
Office: BA 3256
Email: ningningxie at cs.toronto.edu
About
I am
an Assistant Professor in the
Programming Languages and Software Engineering group
in the
Department of Computer Science
at the
University of Toronto.
I also work as a Research Scientist at Google DeepMind.
My research focuses on programming languages, in particular functional programming, type systems, logics, as well as their applications in the broader domains (e.g. compilers, code generation, and machine learning).
Prospective students: I'm actively looking for
self-motivated students to join me at UofT.
Please take a look at this link.
News
-
2024 April flap has
been nominated forreceived 'Publication of the Year' for the Cambridge Hall of Fame Awards! -
2023 Dec PLDI'24 Artifact Evaluation Committee is calling for nominations. Please nominate yourself!
-
2023 Nov New talk accepted at LAFI 2024.
-
2023 Sept Gave an invited keynote at the Haskell Symposium.
-
2023 July New talk accepted at OCaml 2023.
-
2023 July New paper accepted at TyDe 2023.
-
2023 June New paper accepted at ICFP 2023.
Publications
-
Infix-extensible Record Types for Tabular Data
Adam Paszke, Ningning Xie
TyDe 2023 [doi] [paper] -
MacoCaml: Staging Composable and Compilable Macros
Ningning Xie, Leo White, Olivier Nicole, Jeremy Yallop
ICFP 2023 [doi] [paper] -
flap: A Deterministic Parser with Fused Lexing
Jeremy Yallop, Ningning Xie, Neel Krishnaswami
PLDI 2023 [doi] [paper] [appendix] [OCaml implementation] [artifact]
Publication of the Year, Cambridge Hall of Fame Awards [news] -
Applicative Intersection Types
Xu Xue, Bruno C. d. S. Oliveira, Ningning Xie
APLAS 2022 [doi] [paper] -
First-class Names for Effect Handlers
Ningning Xie, Youyou Cong, Kazuki Ikemori, Daan Leijen
OOPSLA 2022 [doi] [paper] [technical report] [artifact] -
Union Types with Disjoint Switches
Baber Rehman, Xuejing Huang, Ningning Xie, Bruno C. d. S. Oliveira
ECOOP 2022 [doi] [paper] -
Synthesizing Optimal Parallelism Placement and Reduction Strategies on Hierarchical Systems for Deep Learning
Ningning Xie, Tamara Norman, Dominik Grewe, Dimitrios Vytiniotis
MLSys 2022 [doi] [paper] -
Staging with Class: A Specification for Typed Template Haskell
Ningning Xie, Matthew Pickering, Andres Löh, Nicolas Wu, Jeremy Yallop, Meng Wang
POPL 2022 [doi] [paper] [appendix] [slides] -
Generalized Evidence Passing for Effect Handlers: Efficient Compilation of Effect Handlers to C
Ningning Xie, Daan Leijen
ICFP 2021 [doi] [paper] [technical report] [slides] [Haskell implementation] [mpeff on Hackage] [artifact] -
Perceus: Garbage Free Reference Counting with Reuse
Ningning Xie*, Alex Reinking*, Leonardo de Moura, Daan Leijen (*Equal contributions)
PLDI 2021 [doi] [paper] [technical report] [slides] [artifact]
ACM SIGPLAN Distinguished Paper Award -
Effect Handlers in Haskell, Evidently.
Ningning Xie, Daan Leijen
Haskell 2020 [doi] [paper] [slides] [Haskell implementation] [eveff on Hackage] -
Effect Handlers, Evidently.
Ningning Xie, Jonathan Brachthäuser, Daniel Hillerström, Philipp Schuster, Daan Leijen
ICFP 2020 [doi] [paper] [technical report] [slides] -
Kind Inference for Datatypes.
Ningning Xie, Richard A. Eisenberg, Bruno C. d. S. Oliveira
POPL 2020 [doi] [paper] [slides] [appendix]
ACM SIGPLAN Distinguished Paper Award -
Row and Bounded Polymorphism via Disjoint Polymorphism.
Ningning Xie, Bruno C. d. S. Oliveira, Xuan Bi, Tom Schrijvers
ECOOP 2020 [doi] [paper] [appendix] [slides] [Coq proof] [poster] -
Consistent Subtyping for All.
Ningning Xie, Xuan Bi, Bruno C. d. S. Oliveira, Tom Schrijvers
ACM Transactions on Programming Languages and Systems 2020
[doi] [paper] [slides] [Coq proof, Haskell implementation] -
Coherence of Type Class Resolution.
Gert-Jan Bottu, Ningning Xie, Koar Marntirosian, Tom Schrijvers
ICFP 2019 [doi] [paper] [appendix] -
Distributive Disjoint Polymorphism for Compositional Programming.
Xuan Bi, Ningning Xie, Bruno C. d. S. Oliveira, Tom Schrijvers
ESOP 2019 [doi] [paper] [slides] [Coq proof, Haskell implementation] [poster] -
Consistent Subtyping for All.
Ningning Xie, Xuan Bi, Bruno C. d. S. Oliveira
ESOP 2018 [doi] [paper] [slides] [Coq proof, Haskell implementation]
Selected for Special Issue of ACM Transactions on Programming Languages and Systems
-
Let Arguments Go First.
Ningning Xie, Bruno C. d. S. Oliveira
ESOP 2018 [doi] [paper] [appendix] [slides] [Coq proof]
Workshop talks (without proceedings)
-
Effect Handlers for Choice-based Learning
Gordon Plotkin, Ningning Xie
LAFI 2024 -
Choice-Based Learning in JAX
Shangyin Tan*, Dan Zheng*, Gordon Plotkin, Ningning Xie
ML For Systems at NeurIPS 2023 -
Safe and Efficient Generic Functions with MacoCaml
Dmitrij Szamozvancev, Leo White, Ningning Xie, Jeremy Yallop
OCaml 2023 [abstract] -
Parallel Algebraic Effect Handlers
Ningning Xie*, Daniel D. Johnson*, Dougal Maclaurin, Adam Paszke (*Equal contributions)
PEPM 2022 [pdf] [Arxiv] -
Programming with Effect Handlers and FBIP in Koka
Daan Leijen, Ningning Xie
ICFP 2021 Tutorial -
First-class Names for Effect Handlers
Ningning Xie, Youyou Cong, Daan Leijen
HOPE 2021 [extended abstract] -
Coercion Quantification.
Ningning Xie, Richard A. Eisenberg
HIW 2018 [extended abstract] [slides] [Haskell implementation] -
Towards Unification for Dependent Types.
Ningning Xie, Bruno C. d. S. Oliveira
TFP 2017 [extended abstract] [slides]
Dissertation
-
Higher-rank Polymorphism: Type Inference and Extensions.
Ph.D. Dissertation. 2021. [thesis]
Advisor: Bruno Oliveira. External committee: Simon Peyton Jones.
Service
-
Program Committee:
- 2025: POPL 2025 (Publicity chair). PLDI 2025 (AEC co-chair). ICFP 2025 (PLMW co-chair). ASPLOS 2025.
- 2024: PLDI 2024 (AEC co-chair). ICFP 2024 (PLMW co-chair). TACAS 2024. WITS 2024. POPL 2024 SRC. OCaml 2024.
- 2023: POPL 2023. PLDI 2023. PADL 2023. TFP 2023. TyDe 2023.
- 2022: ICFP 2022. TFP 2022. FLOPS 2022. Scala 2022. ML 2022. HOPE 2022. MFPS 2022 (session organizer). SPLASH 2022 SRC.
- 2021: PADL 2021. HIW 2021 (chair).
- 2019: Haskell 2019. HIW 2019.
- Steering Committee: Haskell (2020 - 2023).
- I am currently moderating the Types Forum and the Types-announce mailing lists.