Gradual Typing for Generics
Statically and dynamically typed languages have their own benefits. On the one hand, statically typed languages enjoy type safety properties; on the other hand, dynamically typed languages are said to be suitable for rapid prototyping. There is a significant amount of work to integrate both kinds of languages to have the best of both worlds. Siek and Taha have coined the term "Gradual typing" for a particular style of linguistic support of the seamless integration of static and dynamic typing in a single language. A typical gradual type system introduces to a statically typed language a special type (often called dynamic) to specify dynamically typed parts in a program and allows a program to be partially typed, or even fully dynamically typed.