Programming with versions introduced versions as an element of types where same-named definitions can be distinguished by their versions. This paradigm gives users finer-grained control over their programs. Downstream users can benefit from avoiding dependency locks and upstream users can benefit from easier multi-version management of codebases. However, the implementation of this concept, BatakJava, lacks version polymorphism. BatakJava does not allow a single class definition to be instantiated with different versions in different class instances. To solve this problem, we propose the use of parameterized versions to allow version polymorphic definitions, similar to the treatment of type parameters in Java’s generics. We introduce the plan for the design of the language, its benefits, and show a preliminary idea of its compilation into Java.
Program Display Configuration
Tue 18 Jul
Displayed time zone: Pacific Time (US & Canada)change