A Dictionary-Passing Translation of Featherweight Go

Martin Sulzmann and Stefan Wehr

In Proc. of APLAS 2021. Lecture Notes in Computer Science, vol. 13008, Chicago, IL, USA. Springer, 2021.


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.


  author = {Martin Sulzmann and Stefan Wehr},
  title = {A Dictionary-Passing Translation of {Featherweight Go}},
  booktitle = {Proc. of APLAS 2021},
  year = 2021,
  volume = 13008,
  doi = {https://doi.org/10.1007/978-3-030-89051-3_7},
  address = {Chicago, IL, USA},
  series = {Lecture Notes in Computer Science},
  publisher = {Springer}


Imprint & privacy policy // Last modified: 2023-11-27T14:23:35+01:00