Straightforwardly
Implementing a language is not an easy task, especially when you need to define a development environment for it. In Osazone, you can focus on defining the semantics, typing rules or other analysis of the language, and we will automatically provide you with an interpreter, an REFL, and simple lsp-based IDE (VSCode extension).
Via syntactic sugars
Using an existing language as a basis for implementing a DSL is a common strategy. However, DSL users often struggle with host language concepts, known as abstraction leakage. In Osazone, DSL constructs can be defined by syntactic sugars. And a host-language independent DSL definition will be derived using language lifting technique, with toolchain such as interpreters and IDE.
Built in Osazone
As a starting point for the project, we are only providing some languages as examples, which will be further improved in the future.