It is common for compilers to derive the calling convention of a function from its type. Doing so is simple and modular but misses many optimisation opportunities, particularly in...
As component-oriented approaches become increasingly pervasive in the development of complex software systems, it becomes increasingly important to introduce computing science stu...
Through the use of interpreters it is possible to teach programming languages in an analytic way without the mathematical overhead associated with other formal methods. This is a ...
Concepts are an essential language feature for generic programming in the large. Concepts allow for succinct expression of constraints on type parameters of generic algorithms, en...
A module system ought to enable assembly-line programming using separate compilation and an expressive linking language. Separate compilation allows programmers to develop parts o...