Artigo Acesso aberto Revisado por pares

Gradual typing for Smalltalk

2013; Elsevier BV; Volume: 96; Linguagem: Inglês

10.1016/j.scico.2013.06.006

ISSN

1872-7964

Autores

Esteban Allende, Oscar Callaú, Johan Fabry, Éric Tanter, Marcus Denker,

Tópico(s)

Logic, programming, and type systems

Resumo

Being able to combine static and dynamic typing within the same language has clear benefits in order to support the evolution of prototypes or scripts into mature robust programs. While being an emblematic dynamic object-oriented language, Smalltalk is lagging behind in this regard. We report on the design, implementation and application of Gradualtalk, a gradually-typed Smalltalk meant to enable incremental typing of existing programs. The main design goal of the type system is to support the features of the Smalltalk language, like metaclasses and blocks, live programming, and to accommodate the programming idioms used in practice. We studied a number of existing projects in order to determine the features to include in the type system. As a result, Gradualtalk is a practical approach to gradual types in Smalltalk, with a novel blend of type system features that accommodate most programming idioms.

Referência(s)