1.7  Generic by design

The biggest innovation of David MacQueen’s original 1990 SML language specification was his module system, which in essence introduced a compile-time language in which the values are software modules, the types are interface specifications, and the functions convert module arguments into module results.

This breakthrough spawned an explosion of research which lasted through the decade and well into the next. As a result, today we enjoy a solid engineering base for doing programming in the large, which is slowly entering mainstream praxis under the rubric of generics.

If “object oriented programming” was the start of programming in the large on an ad hoc hacking basis, generics are the start of programming in the large as a software engineering discipline.

Mythryl inherits its generics directly from SML. Unlike (say) Java generics, Mythryl generics have been part of the language design from day one and are provably free of such anomalies as typechecking undecidability — anomalies provably present in legacy languages like C++ and Java.

Comments and suggestions to: