Computer scientist · Singapore

Foo Yong Qi.

I study programming languages, and how to make them more expressive, efficient, and a little more elegant.

Instructor & PhD candidate in Computer Science
National University of Singapore

A small explorationFIG. 01
Keep applying a rule. Find what stays the same.
00 / Start with an empty set
The rule always includes a, adds b when a is present, and adds c when b is present. Each iteration keeps the elements already found. Starting from the empty set, the process reaches the fixed point containing a, b, and c.
A few things I think aboutProgramming languagesFixed-point programmingCompiler optimizations

01Ideas into papers

Selected research

All research & projects
POPL2027

LR Parsing Is An Abstract Interpretation of LL Parsing

Brian Sze-Kai Cheong, Yong Qi Foo, Michael D. Adams

We show that LR parsing (not recognition) is an abstract interpretation of LL parsing, and use these results to show the correspondence of (deterministic) LR parse traces and LL parse traces.

02Along the way

Recently

I presented our work on "Class-Dictionary Specialization with Rank-2 Polymorphic Functions" at SPLASH/ISSTA 2026!
[NUS] IT5100E—Industry Readiness: Security Best Practices starts today. See you there!
[NUS] IT5000—Introduction to Computing Foundations starts today. I will be teaching the Discrete Structures portion (Day 1, 4 Aug). See you there!
I am a ACM SRC grand finals candidate. Didn't win though. My paper is here.
The news archive

03In the classroom

Making the abstract
make sense.

I teach programming, systems, and the mathematics behind them, connecting foundational ideas to the practice of building software.

IT5100ATyped Functional ProgrammingIT5100BStream ProcessingIT5100ESecurity Best PracticesTeaching & course materials

Recipient of the NUS Faculty Teaching Excellence Award, 2025.