A Dictionary-Passing Translation of Featherweight Go
Abstract
The Go programming language is an increasingly popular language but some of its features lack a formal investigation. This article explains Go's resolution mechanism for overloaded methods and its support for structural subtyping by means of translation from Featherweight Go to a simple target language. The translation employs a form of dictionary passing known from type classes in Haskell and preserves the dynamic behavior of Featherweight Go programs.
- Publication:
-
arXiv e-prints
- Pub Date:
- June 2021
- DOI:
- 10.48550/arXiv.2106.14586
- arXiv:
- arXiv:2106.14586
- Bibcode:
- 2021arXiv210614586S
- Keywords:
-
- Computer Science - Programming Languages
- E-Print:
- omit ref to online version