Starting MPS 3.3 EAP
Today marks the beginning of the MPS 3.3 Early Access Program. We can’t wait to give you a taste of what we’ve been baking here and would love to hear your feedback, while the code is still hot.
From now on we will be regularly sharing the new 3.3 functionality with you, as it gets developed. If you like to experiment with the newest features, now is the best time to get your hands dirty – you can download MPS 3.3 EAP 1, consult the gradually updated documentation and feel the excitement of living on the edge.
The EAP 1 release contains three prominent features:
- custom language aspects – MPS 3.3 will allow language designers to hook in their own language aspects, such as an editor or a type-system. EAP 1 comes with the initial set of changes that enable custom aspects, such as runtime class instantiation in the language descriptor, customisable aspect icons, adjustment of the “new root” menu, and a few others. Integration with smodel as well as an enhanced DSL for describing custom aspects will come next.
- overriding the default type – the type-system now has the flexibility to substitute an arbitrary node to represent the type instead of the node originally used as a type. The new Substitute Type Rule applied to original type nodes, returns alternative type representation; the same rule applied to an attribute of the original type node enables aspect-oriented way of altering the default type representation. The Typesystem documentation covers this topic in full detail.
- no Used Languages in modules – the need for importing languages twice – both to model, where the language is used, and to the model’s module, is gone. Modules now derive used languages from the models that the module owns. It is no longer possible to add/remove languages in the ‘Used Languages’ tab in module properties.
As with all EAP builds, expect rough edges, unfinished features and bugs. This is part of the joy. Please report all issues to us so as we can fix them and prepare a solid 3.3 release.
More details on these and other planned features are coming soon, so please stay tuned to this blog.
Develop with pleasure!
-JetBrains MPS Team