HKU PL Group

We are a group of programming language researchers who study topics about functional language design, type theory, compilers and program analysis.
The University of Hong Kong

Highlight Members Seminar Gallery


Disjoint Intersection Types

Calculi about disjoint intersection types enable an highly modular and compositional programming style that addresses the Expression Problem naturally, and allows for a much more dynamic form of inheritance.

Compositional Programming

Those works present a novel modular programming style.

Gradual Typing

This work presents a generalized definition of consistent subtyping that works for polymorphic types.

Dependent Types

Those works propose a unified syntax that accounts for types and terms which still preserves decidable type-checking.

Higher-Ranked Polymorphism

This paper provides the first mechanized formalization of type inference for higher-ranked polymorphism.

Kind Inference

This work proposes a solution of challenge of kind inference for datatype declarations for Haskell98 and modern Haskell.

Subtyping for Iso-recursive Types

A new iso-recursive subtyping formulation which takes advantage over other designs on both theoretical side and implementation side.

Bi-directional Type Checking

This paper presents a variant of bi-directional type checking where the type information flows from arguments to functions.

Intersection and Union Types

This paper proposes a novel methodology for designing subtyping relations that exploits duality between intersection types and union types.

Type-directed Operational Semantics

Type-directed operational semantics(TDOS) is a variant of small-step operational semantics. In TDOS, type annotations become operationally relevant and can affect the result of a program.


  • Compositional Programming
    May 4, 2021
    In the recently accepted TOPLAS paper, we proposed a new statically typed modular programming style called compositional programming. It offers an alternative way to model data structures that differs from...

  • Some discussions about type classes
    Apr 27, 2021
    In this problem session we are going to have a shallow peek at the state of one of the signature features of the modern haskell, the type classes. Hopefully it’s...

  • Formalized Higher-Ranked Polymorphic Type Inference Algorithms
    Apr 20, 2021
    This is a practice talk of Jimmy’s Ph.D. thesis defense examination.

  • Type Directed Operational Semantics for Gradual Typing
    Mar 30, 2021
    The semantics of gradually typed languages is typically given indirectly via an elaboration into a cast calculus. This contrasts with more conventional formulations of programming language semantics, where the semantics...

  • Polymorphic Subtyping and Dependent Types
    Jan 19, 2021
    Abstract: The polymorphic subtyping relation, which captures the more-general-than relation between polymorphic and monomorphic types, is one of the main ways modern functional programming languages handles parametric polymorphisms (generic types)...


  • missing
    Lab dinner 2019