Programming with Versions
Most of existing programming languages treat versions of program modules outside of the language semantics. Programs are written, type-checked, and compiled with respect to modules in specific versions, yet later linked together in possibly different versions, which caused problems of conflicts and inconsistencies. This project aim at designing a programming language that treats versions inside of the language semantics. By conceptually adding versions to every value in a running program, the language enables to use different versions of a module at the same time in a type-safe fashion.
The project will investigate a core calculus called λVL, the design and the implementation of an OOP language with versions called BatakJava, and case studies of software development with versions.
- Kasuya Won Audience Award from APLAS 2024 SRC & Posters
- Kasuya Presents a Poster on Vython Version Programming Language at APLAS SRC
- Invited Talk on Programming With Versions at the STAIR Lab Seminar
- PPL 2024 Presentation on “Compilation Semantics for a Programming Language with Versions”
- Poster Presentations at PPL 2024
- Five Members Presented Bachelor’s Thesis
- APLAS 2023 Paper on Compiling a Version Programming Language
- Tanabe’s Dissertation was Introduced in Journal of Functional Programming
- Poster on Polymorphism for Programing With Versions at ECOOP 2023 SRC
- Presentation on “A Functional Programming Language with Versions” (@ ‹Programming› 2023)