Andong Fan

I am a first-year PhD student in computer science at the University of Toronto, advised by Ningning Xie. I am interested in programming languages and type systems.

I did my master's under the supervision of Lionel Parreaux at HKUST, where I worked on modular programming in MLscript and type inference for first-class polymorphism. Before that, I worked with Bruno Oliveira as a research intern. I received my bachelor's degree in computer science from Zhejiang University.

Email  /  Twitter  /  Github  /  LinkedIn

profile photo

Publications

When Subtyping Constraints Liberate: A Novel Type Inference Approach for First-Class Polymorphism
Lionel Parreaux, Aleksander Boruch-Gruszecki, Andong Fan, Chun Yin Chau
POPL 2024
paper / demo / artifact
super-charging Object-Oriented Programming through Precise Typing of Open Recursion
Andong Fan, Lionel Parreaux
ECOOP 2023
paper / extended paper / demo / artifact
ECOOP 2023 Distinguished Artifact
Simple Extensible Programming Through Precisely-Typed Open Recursion
Andong Fan
SPLASH 2022 Student Research Competition
paper
A Calculus with Recursive Types, Record Concatenation and Subtyping
Yaoda Zhou, Bruno C. d. S. Oliveira, Andong Fan
APLAS 2022
paper / artifact
Direct Foundations for Compositional Programming
Andong Fan*, Xuejing Huang*, Han Xu, Yaozhu Sun, Bruno C. d. S. Oliveira (*equal contributions)
ECOOP 2022
paper / extended paper / demo / artifact

Thesis

Modular Programming through Precise Typing of Open Recursion
Master of Philosophy, HKUST, 2024
thesis

Awards

  • Wolfond Fellowship, 2024
  • ECOOP 2023 Distinguished Artifact, 2023

Teaching

  • Teaching Assistant of Principles of Programming Languages, University of Toronto, Fall 2024
  • Teaching Assistant of Principles of Programming Languages, HKUST, Fall 2023
  • Teaching Assistant of Programming Principles, Zhejiang University, Fall 2021

Service

  • Artifact Evaluation: POPL 2025, POPL 2024, PLDI 2024
  • Subreview: SPLASH 2022 SRC
  • Student Volunteer: SPLASH 2022, ECOOP 2023

Design and source code from Jon Barron.