JetBrains MPS 3.0 entering EAP today

May 21st, 2013 by Václav Pech

This is exciting news for all the MPS fans out there. You can now get the EAP builds of MPS 3.0 and start playing with what we’ve build over the last year. It took a while, and we hope it was worth waiting for. Here’s a list of the most notable additions and improvements that you could benefit from right away:

  • Multiple editors per concept
  • Default editor for concept
  • Overriding editor components
  • BaseLanguage structure changes and editor usability improvements
  • Custom persistence API and XML persistence
  • New UI for model/module properties
  • Structure language changes
  • VersionControl support UI improvements

The IntelliJ IDEA plugin has also been improved:

  • Referencing Java sources from MPS models
  • Referencing MPS models from java sources
  • Handling Refactorings, finding usages and similar functionality across the Java/MPS boundary
  • Support for out-of-process make

This is obviously not a full list and we’ll gradually document and introduce all the new functionality that’s worth your attention.

Granted, there are rough edges that need fixing before going final. We’ll keep polishing the EAP builds and your feedback would help us. Please test the EAP builds and report all issues you discover.


Develop with pleasure!
-JetBrains MPS Team

Coming in JetBrains MPS 3.0 - multiple editor projections

May 3rd, 2013 by Václav Pech

Today we’ve got another video giving you a taste of what’s being prepared for the upcoming 3.0 release - multiple editor projections.

This is truly unleashing the power of projectional editing. The new support for multiple projections will give the language designers the power to define alternative editors and so prepare different ways for the users to interact with their code. These editors can be created for new as well as existing languages.

The language users will then be able to choose the most appropriate editor for the job and switch between the alternative editors whenever needed.

Check it out!


Develop with pleasure!
-JetBrains MPS Team

Fluent Java editing in MPS 3.0

April 26th, 2013 by Václav Pech

Here’s a short video showing some of the new capabilities of the MPS BaseLanguage (Java) editor coming in 3.0. Based on the feedback we received from many of our users, we put extra effort into making the editor feel like a textual one in many aspects. Namely:

  • there are no visual placeholders for extended classes and implemented interfaces
  • you can create fields and methods just by typing
  • many of the class, field or method modifiers, such as final, static and abstract can be entered and removed in more intuitive ways
  • switching among IfStatements, WhileStatements, Do-WhileStatements and ForLoops is now just a matter of typing a few characters
  • unwrapping the body of an IfStatement or a TryCatchBlock is as simple as hitting Delete
  • the javadoc language now behaves much more like text
  • javadoc comments can be added by typing /** and removed by a single hit on the Delete key
It is always a pleasure to push the envelop of projectional editing. We believe these changes will make your life a bit easier and more convenient.


Develop with pleasure!
-JetBrains MPS Team

JetBrains MPS at Code Generation 2013

March 25th, 2013 by Václav Pech

Are you coming to Code Generation 2013? The JetBrains MPS and YouTrack teams are sending a four member crew this year. We’ll present MPS 3.0, teach the basics of projectional editing and practice language extension during the MPS hands-on session on Wednesday April 10th. On Thursday 11th during the Have Your Language Built While You Wait session, we’ll be available to help you start prototyping your own language. You’ll also be able to grab us for a chat any time at the JetBrains booth down in the lobby and discuss whatever comes to mind related to DSLs, MPS and life. See you there!


Develop with pleasure!
-JetBrains MPS Team

Fast Track to JetBrains MPS

February 27th, 2013 by Václav Pech

Most of the readers of this blog can ride MPS already. Newcomers, however, need guidance and help to overcome the initial barrier so that they could start using the tool and benefit from it. We’re constantly trying to come up with ways that would improve the initial experience and just recently we published a short step-by-step tutorial - Fast Track to MPS - 9 steps to mastery. The tutorial aims at newbies and guides them to walk steadily from simple concepts towards the more involved ones so that they gradually build the necessary knowledge.

If you know of anyone, who might be willing to give MPS a try, please consider helping them start by pointing them to the new tutorial.


Develop with pleasure!
-JetBrains MPS Team

A book on DSL Engineering (and JetBrains MPS)

February 19th, 2013 by Václav Pech

Here’s a tip - Markus Voelter (http://www.voelter.de/) has just published his new book, which is highly relevant to our field:

DSL EngineeringDSL Engineering
Designing, Implementing and Using Domain Specific Languages

The book provides a thorough read on the subject, introducing the reader into the core aspects of DSL design and implementation. It explains the fundamental principles of using DSLs as part of modern development cycle and showcases JetBrains MPS as one of the tools that aim to make DSL development approachable.

This book provides a thorough introduction to DSLs and lends inspiration to readers of where and how to use DSLs. It relies on today’s state-of-the-art language workbenches: JetBrains MPS, Xtext and Spoofax. Thus on top of gaining an insight into each of these tools individually you will get a direct side-by-side comparison of the tools, their capabilities and targets.

DSL Engineering is available in print and as a PDF (donationware) from dslbook.org.


Develop with pleasure!
-JetBrains MPS Team

JetBrains MPS 2.5.4 arrived

February 18th, 2013 by Václav Pech

Here’s the news that you have been waiting for - 2.5.4 is out. (If you were actually waiting for news about 3.0, please read on). Grab 2.5.4 while it’s fresh. The release notes will give you full details on what’s changed.

Except for the usual doze of bug-fixes, 2.5.4 comes with one major new feature that is definitely worth your attention:

  • the ability for build scripts to rebuild an MPS project from scratch.

Without the need to regenerate in the MPS workbench or to keep your generated code in VCS, you just invoke ant generate on the command line and your whole MPS project gets regenerated, compiled and packaged. What a relieve!

There’s a catch, though. In order for the rebuild to be possible, your project must not contain bootstrapping dependencies, e.g. a module must not use a language, which requires that same module for generation. Chasing such dependency violations and hunting them down can be a challenge without proper tools. To give you a hand, the Dependency Analyzer has been enhanced and we documented the required steps on a dedicated how-to page that will give you all relevant information and guide you through the process.

As a bonus, once you remove all bootstrapping dependencies from your projects, you’ll be in a good position to migrate them automatically to MPS 3.0 eventually.

Speaking of MPS 3.0 …

Yeah, we’ve slipped behind schedule with 3.0. The 3.0 codebase has undergone a major facelift. We’ve refactored the core API so that MPS will provide stable and robust set of well documented APIs to allow access to the models directly from your code. It will also help us evolve MPS faster. The price we pay now will certainly pay off in the near future.

The features mentioned in the (updated) roadmap for 3.0 are gradually being added and we are coming close to a point when the 3.0 EAP will open. Just give us a few more weeks, please.
You’ll soon be able to put your hands on

  • Multiple editors per concept
  • Tight IntelliJ IDEA integration
  • Smoother BaseLanguage editor

and many other improvements.


Develop with pleasure!
-JetBrains MPS Team

JetBrains MPS 2.5.3 just released

December 19th, 2012 by Václav Pech

Here we have another improvement on MPS. Shortly before the 3.0 version becomes ready for EAP, we decided to publish all the bug fixes that have accumulated since the latest release and prepared a 2.5.3 release for you to enjoy.

Apart from the fixed bugs, we’ve made the IntelliJ IDEA MPS plugin compatible with IDEA 12.

As usual, you can also check out the fixed issues in the tracker to see what exactly there is for you.


Develop with pleasure!
-JetBrains MPS Team

New JetBrains MPS presentations went on-line

October 25th, 2012 by Václav Pech

The two presentations given by Alexander Shatalin and Václav Pech at CodeGeneration2012 have just been published by InfoQ. You can check them out:


Develop with pleasure!
-JetBrains MPS Team

A public language repository for JetBrains MPS now open

October 24th, 2012 by Václav Pech

JetBrains MPS is a language development tool and as such needs a common place for its users to easily share their languages. There wasn’t such a place until today. The good news is that this has just changed. If you open-up the plugin manager in MPS and click Browse repositories, you’ll see a list of available plugins, which you can immediately install with a single mouse click.

Here’s a link for you to bookmark - the JetBrains MPS repository of language plugins

As you can see, we’ve only just started. The number of plugins will grow over time as we all contribute our languages. I’d like to encourage you, if you have created something worth spreading feel free to upload your work for others to use. We all will benefit.


Develop with pleasure!
-JetBrains MPS Team