News
Raymond Hu's research on the design and implementation of the Go programming language published in POPL
Centre for Fundamentals of AI and Computational Theory16 January 2026
Raymond Hu and his coauthors presented their work, that is part of an ongoing collaboration with industry, on "Welterweight Go: Boxing, Structural Subtyping, and Generics" at the 53rd ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2026) in Rennes, France. POPL is a top A* conference related to the theory, practice and implementation of programming languages.
This work is part of an ongoing collaboration with Google on the design and implementation of the Go programming language that is widely used in industry. It builds on their prior work that had the impact of shaping the design of generics for Go first released in Go 1.18.
In this paper, the team first develop WG, a formal model of Go expanded to include recently implemented features such as generic type unions and type sets. They also further extend it to show how popularly requested features such as generic methods can be safely incorporated. They then introduce LWG, a lower level formal model of the Go runtime and its mechanisms for managing coercions between interface types and struct types that are key to Go. Finally, they develop a compilation strategy from WG to LWG that supports the proposed extensions and lifts the expressiveness restrictions imposed by the existing monomorphisation approach.
Reference
Raymond Hu, Julien Lange, Bernardo Toninho, Philip Wadler, Robert Griesemer, Keith Randall (2026) Welterweight Go: Boxing, Structural Subtyping, and Generics. In Proceedings of the ACM on Programming Languages, Volume 10, Issue POPL, Article No.: 79, Pages 2295 - 2322. https://doi.org/10.1145/3776721
People: Raymond HU
Contact: Raymond HuEmail: r.hu@qmul.ac.uk
Updated by: Paul Curzon
