 
                
                        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
                    Department of Computer Science
                    at the
                    University of Toronto.
                    My research focuses on programming languages, in particular functional programming, type systems, logics, as well as their applications in broader domains.
                    
                    Previously, I was a Research Scientist at Google DeepMind,
                    where I currently hold a part-time position,
                    and a Research Associate at the  University of Cambridge.
                    I received my Ph.D. from the University of Hong Kong, and my B.S. from Zhejiang University.
                    
                    
                    Prospective students: I always look for motivated students to join my group. Please take a look at this link.
                
News
- I gave an invited keynote at HOPE'25.
- I'm co-chairing PEPM'26. Please consider submitting a paper!
- We received a Distinguished Paper Award for our ICFP'25 paper.
- I serve as the Publicity Chair for POPL'26 .
- I'm co-chairing Haskell'25, please consider submitting a paper and/or a talk proposal!
- One paper accepted at ICFP'25.
- I'm co-organizing PLMW@ICFP/SPLASH'25.
- We received a Distinguished Paper Award at PLDI'25.
- Two papers accepted at PLDI'25.
Publications
- 
                    Multi-stage Programming with Splice Variables 
 Tsung-Ju Chiang,Ningning Xie 
 ICFP 2025 [doi] [paper] [Agda formalism]
 ACM SIGPLAN Distinguished Paper Award
- 
                    Practical Type Inference with Levels 
 Andong Fan, Han Xu,Ningning Xie 
 PLDI 2025 [doi] [paper] [appendix] [Coq proofs and artifact]
 ACM SIGPLAN Distinguished Paper Award
- 
                    Handling the Selection Monad 
 Gordon Plotkin,Ningning Xie 
 PLDI 2025 [doi] [paper] [appendix]
- 
                    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]
- 
                    MacoCaml: Staging Composable and Compilable Macros 
 Ningning Xie , Leo White, Olivier Nicole, Jeremy Yallop
 ICFP 2023 [doi] [paper] [OCaml compiler]
- 
                    Infix-extensible Record Types for Tabular Data 
 Adam Paszke,Ningning Xie 
 TyDe 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]
- 
                    First-class Names for Effect Handlers 
 Ningning Xie , Youyou Cong, Kazuki Ikemori, Daan Leijen
 OOPSLA 2022 [doi] [paper] [technical report] [artifact]
- 
                    Applicative Intersection Types 
 Xu Xue, Bruno C. d. S. Oliveira,Ningning Xie 
 APLAS 2022 [doi] [paper]
- 
                    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
- 
                      2025
                      - Smart Handlers: Handling the Selection Monad (Invited keynote at HOPE 2025)
- Smart Handlers: Handling the Selection Monad (IFIP WG2.1)
- Algebraic Effects and Handlers (Invited lectures at OPLSS 2025)
 
- 
                      2024
                      - Safe and Easy Compile-Time Generative Programming (ECLaPS 2024)
- Safe and Easy Compile-Time Generative Programming (Invited plenary keynote at LOPSTR/PPDP 2024)
- Algebraic effect handlers and parallelizable computations (Invited keynote 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 (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
- program committee:
- (co-)organizer:
- steering committee
- I am currently moderating the Types Forum and the Types-announce mailing lists.