Nowadays each project is realised using a plethora of languages. Think about some classical scenarios:
- A Java framework using XML for configuration
- SQL snippets embedded in a general purpose language
In this scenarios different languages have to interact. The problem is that normally development tools are able to verify just intra-language consistency: it means that an IDE is able to understand if in your java code you are referring to a Java class that does not exist (maybe because you misspelled the name). IDEs are not able to verify inter-language consistency, so for example it does not know if the XML configuration file contains the name of an existing Java class or not. This is a problem of language integration.
I think language workbenches permit to improve a lot language integration, with a limited effort.
Still there is a lot to be done.
- discuss about the problem of language integration in different scenarios,
- refer to some previous work (from me, Vetrò and Torchiano) which starts an empirical evaluation of the issue,
- present a prototypal micro-implementation of a solution using Jetbrains MPS,
- present a research agenda for language integration.
Screenshots and more details are on the paper (available as PDF).
Download the guide with 68 resources on Creating Programming Languages
Receive the guide to your inbox to read it on all your devices when you have time