Episode 126: Jetbrains MPS with Konstantin Solomatov

Topics covered
Popular Clips
Episode Highlights
Extension Mechanics
The mechanics of language extension in Jetbrains' Meta Programming System (MPS) offer a unique approach to enhancing programming languages. explains that MPS allows extensions at various levels, such as expressions and statements, enabling the addition of complex numbers or new statements like regular expressions 1. This flexibility is akin to Java packages, where multiple languages can be integrated into a model, ensuring compatibility across different languages 1.
You can add as many languages as you want and they will be compatible.
---
The system's generators facilitate the transformation of languages into lower-level languages, eventually reaching Java, XML, or JavaScript, illustrating its sophisticated model-to-model transformation capabilities 2.
Compatibility
Handling compatibility in MPS is crucial when integrating multiple language extensions. notes that while languages are generally compatible at the editing level, issues can arise if different languages impose conflicting requirements on a class's base class 1. However, such conflicts are rare if developers adhere to best practices.
If people don't do such things, everything will be good and languages will be comfortable.
---
This compatibility ensures that developers can extend languages like Java with custom statements, such as a lock statement, without compromising the integrity of the original language 1.
Related Episodes


Episode 119: DSLs in Practice with JP Tolvanen
Answers 383 questions

Episode 96: Interview Krzysztof Czarnecki
Answers 383 questions

Episode 57: Compile-Time Metaprogramming
Answers 383 questions

Episode 200: Markus Völter on Language Design and Domain Specific Languages
Answers 383 questions

Episode 36: Interview Guy Steele
Answers 383 questions
Episode 122: Interview Janos Sztipanovits
Answers 383 questions

Episode 140: Newspeak and Pluggable Types with Gilad Bracha
Answers 383 questions

Episode 171: Scala Update with Martin Odersky
Answers 383 questions

Episode 97: Interview Anders Hejlsberg
Answers 383 questions

Episode 6: Model-Driven Software Development Pt. 2
Answers 383 questions

Episode 5: Model-Driven Software Development Pt. 1
Answers 383 questions

Episode 38: Interview James Noble
Answers 383 questions

Episode 67: Roundtable on MDSD and PLE
Answers 383 questions
Episode 172: Feature-Oriented Software Development with Sven Apel – Pt 1
Answers 383 questions
Episode 173: Feature-Oriented Software Development with Sven Apel – Pt 2
Answers 383 questions



