Featherweight Go
File(s)3428217.pdf (727.65 KB)
Published version
Author(s)
Type
Conference Paper
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.
Date Issued
2020-11-01
Date Acceptance
2020-10-01
Citation
Proceedings of the ACM on Programming Languages, 2020, 4
ISSN
2475-1421
Publisher
Association for Computing Machinery (ACM)
Journal / Book Title
Proceedings of the ACM on Programming Languages
Volume
4
Copyright Statement
© 2020 Copyright held by the owner/author(s). This work is licenced under a Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/)
License URL
Sponsor
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Engineering and Physical Sciences Research Council
Engineering & Physical Science Research Council (E
The National Cyber Security Centre (NCSC)
Grant Number
ERI 025567 (EP/K034413/1)
EP/T006544/1
EP/K011715/1
PO 20131167
EP/N027833/1
20103649
EP/V000462/1
EP/V000462/1
4214176 / RFA 20601
Source
OOPSLA 2020
Publication Status
Published
Start Date
2020-11-15
Finish Date
2020-11-21
Coverage Spatial
Virtual