I am a second-year PhD student in LFCS at the University of Edinburgh, supervised by Dr. Sam Lindley. My research interest lies in programming languages, especially types (linear types, type inference) and effects (algebraic effects, higher-order effects, effect handlers, type-and-effect systems).
Previously, I was an undergraduate student majoring in Computer Science at Peking University, where I worked with Prof. Zhenjiang Hu on program calculation and bidirectional programs. I was also a research intern in Prof. Tom Schrijvers' PL Group at KU Leuven working on algebraic and scoped effects in 2021.
Education
- Ph.D. Student in Informatics, Oct 2022 - Present, The University of Edinburgh
- B.S. in Computer Science (summa cum laude), Sept 2018 - July 2022, Peking University
Papers
Publications
-
Soundly Handling Linearity
Wenhao Tang, Daniel Hillerström, Sam Lindley, J. Garrett Morris
In POPL 2024
[doi] [arXiv] [artifact]
ACM SIGPLAN Distinguished Paper Award -
Structural Subtyping as Parametric Polymorphism
Wenhao Tang, Daniel Hillerström, James McKinna, Michel Steuwer, Ornela Dardha, Rongxiao Fu, Sam Lindley
In OOPSLA 2023
[doi] [arXiv] -
Contract Lenses: Reasoning about Bidirectional Programs via Calculation
Hanliang Zhang, Wenhao Tang, Ruifeng Xie, Meng Wang, Zhenjiang Hu
In Journal of Functional Programming 33:e10, 2023
[doi]
Manuscripts and Extended Abstracts
-
Session-Typed Effect Handlers (Extended Abstract)
Wenhao Tang
In Student Research Competition of POPL 2024
[poster] [pdf]
3rd place in the graduate category -
From High to Low: Simulating Nondeterminism and State with State
Wenhao Tang, Tom Schrijvers
Submitted to Journal of Functional Programming (special issue on program calculation)
[arXiv] -
A Calculus for Scoped Effects & Handlers
Roger Bosman*, Birthe van den Berg*, Wenhao Tang*, Tom Schrijvers (*equal contributions)
Submitted to Logical Methods in Computer Science
[arXiv] [artifact] [demo]
Talks
-
Soundly Handling Linearity
TUPLE, The University of Edinburgh, Scotland, UK, Feb 2024 [slides]
POPL'24, London, England, UK, Jan 2024 [slides]
University of Bristol, England, UK, Oct 2023 [slides]
EHOP Workshop, The Burn, Scotland, UK, July 2023 [slides] -
Structural Subtyping as Parametric Polymorphism
OOPSLA'23, Cascais, Portugal, Oct 2023 [slides] -
Tracking Linear Continuations for Effect Handlers
Huawei-Edinburgh Joint Lab Workshop, The University of Edinburgh, Scotland, UK, June 2023 [slides]
SPLS, Heriot-Watt University, Scotland, UK, March 2023 [slides]
Projects
- λQ: A simple quantum programming language and compiler
Course project, Spring 2021 [report] [slides]
- λM: A language with dependent types and termination checking
Course project, Spring 2020 [report] [slides]
Teaching
- TA & Tutor, Elements of Programming Languages, The University of Edinburgh, Fall 2023.
- TA & Tutor, Elements of Programming Languages, The University of Edinburgh, Fall 2022.
- TA, Introduction to Computer Systems, Peking University, Fall 2020.