Publicação

Featherweight go

Ver documento

Detalhes bibliográficos
Resumo:We describe a design for generics in Go inspired by previous work on Featherweight Java by Igarashi, Pierce, and Wadler. Whereas subtyping in Java is nominal, in Go it is structural, and whereas generics in Java are defined via erasure, in Go we use monomorphisation. Although monomorphisation is widely used, we are one of the first to formalise it. Our design also supports a solution to The Expression Problem.
Autores principais:Griesemer, Robert
Outros Autores:Hu, Raymond; Kokke, Wen; Lange, Julien; Taylor, Ian Lance; Toninho, Bernardo; Wadler, Philip; Yoshida, Nobuko
Assunto:Generics Go Monomorphisation Software Safety, Risk, Reliability and Quality
Ano:2020
País:Portugal
Tipo de documento:artigo
Tipo de acesso:acesso aberto
Instituição associada:Universidade Nova de Lisboa
Idioma:inglês
Origem:Repositório Institucional da UNL
Descrição
Resumo:We describe a design for generics in Go inspired by previous work on Featherweight Java by Igarashi, Pierce, and Wadler. Whereas subtyping in Java is nominal, in Go it is structural, and whereas generics in Java are defined via erasure, in Go we use monomorphisation. Although monomorphisation is widely used, we are one of the first to formalise it. Our design also supports a solution to The Expression Problem.