Authors:
Francisco Ortin
;
Daniel Zapico
and
Miguel Garcia
Affiliation:
University of Oviedo, Spain
Keyword(s):
Dynamic languages, Rapid prototyping, Separation of concerts, Union types, Alias analysis, Type inference.
Related
Ontology
Subjects/Areas/Topics:
Programming Languages
;
Software Engineering
Abstract:
Dynamic languages are becoming increasingly popular for developing different kinds of applications, being rapid prototyping one of the scenarios where they are widely used. The dynamism offered by dynamic languages is, however, counteracted by two main limitations: no early type error detection and fewer opportunities for compiler optimizations. To obtain the benefits of both dynamically and statically typed languages, we have designed the StaDyn programming language to provide both approaches. Our language implementation keeps gathering type information at compile time, even when dynamic references are used. This type information is used to offer compile-time type error detection, direct interoperation between static and dynamic code, and better runtime performance. Following the Separation of Concerns principle, dynamically typed references can be easily turned into statically typed ones without changing the application source code, facilitating the transition from rapid prototypin
g to efficient software production. This paper describes the key techniques used in the implementation of StaDyn to obtain these benefits.
(More)