2000 character limit reached
A Dictionary-Passing Translation of Featherweight Go (2106.14586v3)
Published 28 Jun 2021 in cs.PL
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.