Featherweight Go
View/ Open
Author
Griesemer, Robert
Hu, Raymond
Kokke, Wen
Lange, Julien
Taylor, Ian Lance
Toninho, Bernardo
Wadler, Philip
Yoshida, Nobuko
Attention
2299/23495
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.