The costs of changing a language are staggering, each new major release of a popular language incur enormous cost, from the adaption of third party tools to the education of programmers to the new language features. We envision a complete programming language ecosystem that allows the evolution of languages and will support migration of code and knowledge bases. Avoiding the need to invent completely new languages every time there is a shift in hardware trends or in programming methodology.
We strongly believe in developing programmer’s understanding of how to design programming languages that are evolvable. Advances in this direction will open a new space for language implementers, compiler writers and designers of runtime system services as it will be easier to plug new algorithms into evolvable languages, and in turn facilitating experimentation with novel ideas. We believe it is important to discovery techniques for updating widely deployed software systems without damaging the community’s investment in those systems.
We believe in allowing researchers and practitioners a greater degree of freedom when experimenting with new ideas and how they express their computation.
❝ My point is that a good programmer in these times does not just write programs. A good programmer builds a working vocabulary. In other words, a good programmer does language design, though not from scratch, but by building on the frame of a base language. ❞
‒Guy L. Steele Jr