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 PLSE 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).
Publications
-
Staged Compilation with Module Functors
Tsung-Ju Chiang, Jeremy Yallop, Leo White,Ningning Xie
ICFP 2024 [doi] [paper] -
Parallel Algebraic Effect Handlers
Ningning Xie *, Daniel D. Johnson*, Dougal Maclaurin, Adam Paszke
ICFP 2024 [doi] [paper] -
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] [artifact] -
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
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 [abstract] -
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
PEPM 2022 [pdf] [Arxiv] -
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] [GHC 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.
Recent talks
-
2024
- Safe and Easy Compile-Time Generative Programming (Invited plenary keynote at LOPSTR/PPDP 2024)
- Algebraic effect handlers and parallelizable computations (Invited talk at ZuriHac 2024)
- Algebraic effect handlers and parallelizable computations (Invited keynote at Lambda Days 2024)
-
2023
- Effect handlers for choice-based learning (NII Shonan meeting)
- Haskell for choice-based learning (Invited keynote at Haskell'23)
- Efficient Compilation of Algebraic Effect Handlers (Berkeley PL Seminar)
-
2022
- MacoCaml: Staging Composable and Modular Macros (McGill PL Seminar)
- Staging with Class: A Specification of Typed Template Haskell (YOW! Lambda Jam 2022)
- Staging with Class: A Specification of Typed Template Haskell (EPFL PL Seminar)
-
2021
- Efficient Compilation of Algebraic Effect Handlers (International Workshop on Dependable and Secure Software Systems. ETH Zurich)
- Programming with Effect Handlers and FBIP in Koka (Tutorial at ICFP'21)
- Perceus: Garbage Free Reference Counting with Reuse (LFCS Seminar. The University of Edinburgh)
Service
-
program (co-)chair
- Haskell 2025
- HIW 2021
- (co-)organizer:
- program committee:
- steering committee: Haskell (2020 - 2023).
- I am currently moderating the Types Forum and the Types-announce mailing lists.