DeepAI
Log In Sign Up

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

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...
08/14/2022

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

Go is a popular statically-typed industrial programming language. To aid...
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...
08/07/2020

Cons-free Programs and Complexity Classes between LOGSPACE and PTIME

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

Analysis of MiniJava Programs via Translation to ML

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

Continuation-Passing Style, Defunctionalization, Accumulations, and Associativity

Context: Reynolds showed us how to use continuation-passing style and de...
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...