English

A Dictionary-Passing Translation of Featherweight Go

Programming Languages 2021-09-22 v3

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.

Keywords

Cite

@article{arxiv.2106.14586,
  title  = {A Dictionary-Passing Translation of Featherweight Go},
  author = {Martin Sulzmann and Stefan Wehr},
  journal= {arXiv preprint arXiv:2106.14586},
  year   = {2021}
}

Comments

omit ref to online version