A Dictionary-Passing Translation of Featherweight Go

06/28/2021
by   Martin Sulzmann, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/18/2022

A Type-Directed, Dictionary-Passing Translation of Featherweight Generic Go

Featherweight Generic Go (FGG) is a minimal core calculus modeling the e...
research
08/14/2022

Generic Go to Go: Dictionary-Passing, Monomorphisation, and Hybrid

Go is a popular statically-typed industrial programming language. To aid...
research
06/20/2022

Semantic preservation for a type directed translation scheme of Featherweight Go

Featherweight Go (FG) is a minimal core calculus that includes essential...
research
08/07/2020

Cons-free Programs and Complexity Classes between LOGSPACE and PTIME

Programming language concepts are used to give some new perspectives on ...
research
12/30/2020

Analysis of MiniJava Programs via Translation to ML

MiniJava is a subset of the object-oriented programming language Java. S...
research
11/19/2021

Continuation-Passing Style, Defunctionalization, Accumulations, and Associativity

Context: Reynolds showed us how to use continuation-passing style and de...
research
07/16/2021

Systematic Translation of Formalizations of Type Theory from Intrinsic to Extrinsic Style

Type theories can be formalized using the intrinsically (hard) or the ex...

Please sign up or login with your details

Forgot password? Click here to reset