(Internship) Improving the Modularity and Robustness of the Althread Language
During my first-year master’s internship with Professor Quentin Bramas, I added a module system to Althread, an educational language for modeling and verifying distributed systems.
After comparing module designs in Promela, TLA+, Python, JavaScript, and Go, I implemented namespace-based imports with local files, remote dependencies, circular-import detection, and visibility rules for private functions and programs.
I also completed support for cross-function and nested calls, implicit returns, and control-flow checks that require non-void functions to return on every path. In the web IDE, I added a virtual file system and package manager so imports and remote dependencies could run in WebAssembly.