vix.ing · top · new · best · stats · spec

Featherweight Go

2020/05/24 by Robert Griesemer, Griesemer, Robert, Raymond Hu +13 · 5 voices
Computer Science · Social Sciences · #Artificial Intelligence in Games #Digital Games and Media #Logic, programming, and type systems #cs.LO #cs.PL

paper · pdf · doi:10.48550/arxiv.2005.11710

openalex publication_date 2020/05/24 · openalex created_date 2022/10/01 · openalex updated_date 2026/07/28

Abstract

We describe a design for generics in Go inspired by previous work on Featherweight Java by Igarashi, Pierce, and Wadler. Whereas subtyping in Java is nominal, in Go it is structural, and whereas generics in Java are defined via erasure, in Go we use monomorphisation. Although monomorphisation is widely used, we are one of the first to formalise it. Our design also supports a solution to The Expression Problem.

Discussions

Related