JetBrains MPS: Create syntax to augment your programming - Syntax can be visual - Programming-language independent - Can distribute syntax changes as modules (re-use them in different projects) - Can extend already-existing modules, yet remain compatible with the original syntax extensions - Opensource.
General term for these is 'Language Workbenches'.
Apparently it's an old thing, but I still remember complaining about it: "Why does a programming language have to have a rigid syntax? Why can't the syntax be packaged, versioned and depended on, the same way libraries can be added as dependencies to a project? Just 'include syntax-feature-x', and it would be a dependency for your project, just like any other external library. A language could also choose modules to freeze as it's syntax for a release like 'if you use Programming Language KikiBoba's base syntax profile 2025, then you have these [x,y,z,..] syntax modules available in your project."
gima•1h ago
General term for these is 'Language Workbenches'.
Apparently it's an old thing, but I still remember complaining about it: "Why does a programming language have to have a rigid syntax? Why can't the syntax be packaged, versioned and depended on, the same way libraries can be added as dependencies to a project? Just 'include syntax-feature-x', and it would be a dependency for your project, just like any other external library. A language could also choose modules to freeze as it's syntax for a release like 'if you use Programming Language KikiBoba's base syntax profile 2025, then you have these [x,y,z,..] syntax modules available in your project."