DSL + java unified development

Will it be possible to do java+DSL development in a single tool (IDEA)?

I'm looking forward for a use case like this: to design DSLs and introduce them gradually into the existing pure-java project.
That is, to have MPS modules/solutions (whatever) living in the same project together with java modules, and to allow dependencies between them.

So, DSL and java code are kept separately, in different modules.
When a project is built, java classes are generated from DSLs, and these classes can be referenced to from java modules (with dependencies on MPS modules). Although I'd be interested more in possibility to have DSLModel-to-java dependency: to be able to refer to java classes (and also auto-complete, etc..), available in the project, from DSL models.

Will this kind of unified development in a single IDE be ever available?
(It's also perfectly fine not to have all the language design stuff in IDEA, just the model editing - like in Custom MPS build)
This feature is planned for next (2.1) release. Idea is to allow deploying your own languages not only as a plugins for MPS platform, but in addition as a plugins for IDEA itself. This is AFAIU what are you looking for.

BTW, currently you have to start MPS as a separate application but you still should be able to combine all sources in a single IDEA project - just you have to edit/generate models using separate MPS application. You can even have references from DSLs to existing java code by configuring proper stub model.
Just to add a bit to what Alex has said, at the moment you can configure MPS to generate Java code into any folder you like. So if you create an additional source folder under your IDEA project/module and let MPS generate its output there, you'll be able to use the generated code in your Java code.

Obviously, the tighter the DSL-to-Java interoperability gets, the better. Having MPS run as an IDEA plugin will definitely help on that front.

Please sign in to leave a comment.