Including both static and dynamic typing in the same programming language

F. Ortin, D. Zapico, J.B.G. Perez-Schofield, M. Garcia
2010 IET Software  
Dynamic languages are becoming increasingly popular for different software development scenarios such as Web engineering, rapid prototyping, or the construction of applications that require runtime adaptiveness. These languages are built on the idea of supporting reasoning about (and customizing) program structure, behaviour and environment at runtime. The dynamism offered by dynamic languages is, however, counteracted by two main limitations: no early type error detection and fewer
more » ... s for compiler optimizations. To obtain the benefits of both dynamically and statically typed languages, we have designed the StaDyn programming language that provides both approaches. StaDyn keeps gathering type information at compile time, even when dynamic variables are used. This type information is used to offer early type error detection, direct interoperation between static and dynamic code, and better runtime performance. Following the Separation of Concerns principle, it is possible to customize the trade-off between runtime flexibility of dynamic typing, and safety, performance and robustness of static typing. A runtime performance *
doi:10.1049/iet-sen.2009.0070 fatcat:wumxipwhqncydpobe452kuxl5a