In this paper, the authors make a great case for modern programming languages that have static and dynamic types and type checking, particularly if a compiler such as StaDyn exploits compile time type references for improved runtime performance.
The introduction describes the pros and cons of static and dynamic typing used in contemporary runtime environments, including C# and Visual Basic (VB); section 2 clarifies this with actual code samples for hybrid static and dynamic typing. Section 3 characterizes the StaDyn core language and its type unions and intersections. Of highest interest is section 4, which offers actual runtime comparisons of StaDyn versus C# and VB, demonstrating phenomenal performance advantages.
Occasionally, the authors include nonessential details, such as the need for curly braces in the intersection discussion. They also leave open the question of why any language should include static typing at all, since most times a smart compiler can make correct reductions using the union and intersection of type references. However, this does not distract from the paper’s essential, interesting message.
The real value of this paper is the solid, quantitative proof that dynamic typing is valuable in a programming language, provided that the compilers intelligently take advantage of compile-time checks. The measured performance of StaDyn versus its ancestors, C# and VB, proves the claim correct. Any modern programming language designer or compiler developer must be aware of this paper.