Featherweight Go

Robert Griesemer, Raymond Hu, Wen Kokke, Julien Lange, Ian Lance Taylor, Bernando Toninho, Philip Wadler, Nobuko Yoshida

Research output: Contribution to journalArticlepeer-review

Abstract / Description of output

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.
Original languageEnglish
Article number149
Number of pages29
JournalProceedings of the ACM on Programming Languages
Issue numberOOPSLA
Publication statusPublished - 13 Nov 2020
EventACM SIGPLAN Conference on Systems, Programming, Languages, and Applications 2020: Software for Humanity - Online Conference
Duration: 15 Nov 202021 Nov 2020

Keywords / Materials (for Non-textual outputs)

  • Go
  • Generics
  • Monomorphisation


Dive into the research topics of 'Featherweight Go'. Together they form a unique fingerprint.

Cite this