Storm: A Language Platform for Interacting and Extensible Languages (Tool Demo)
Wed 7 Nov 2018 18:53 - 18:55 at Georgian - Poster & SRC
The ability to extend programming languages with domain-specific concepts is becoming an essential technology for developing complex software. However, in many cases the domain specific languages are implemented separately from the host language, which often results in poor interaction between different languages and/or a complicated build process. To improve the situation, we created the language platform Storm, which aims to make the creation of multiple interacting languages easy. Storm provides two main mechanisms for this: a shared global namespace consisting of standardized primitives for language interaction called the name tree, and extensible grammars. Using these mechanisms, Storm allows creating both stand-alone and embedded languages (language extensions), in contrast to many other tools. Furthermore, the high degree of language interaction possible means that languages and language extensions can be implemented in any language supported by the platform, and that languages are able to reuse other language implementations as desired.