Introduction to the JetBrains Meta Programming System
by Fabien Campagne, PhD
This presentation will describe the JetBrains Meta Programming System (MPS) and provide an introduction to the design and use of Composable Languages. Traditional programming languages, from Fortran and COBOL in the 50s to the modern languages like Java, Python, R or GO, have created islands of separate languages that do not work well together. Try writing a program in Java that takes advantage of the R syntax for vector manipulation, or any other program where you would like to combine syntax from two major programming languages.
In contrast to traditional programming languages, a language workbench such as MPS makes it possible to write programs using the combination of languages that best fit the problem at hand. New mini-languages can be defined as needed to support new problems and these mini-languages will work seamlessly with other languages available in the platform.
When working with the JetBrains Meta Programming System you can use and combine different languages to solve a problem. You can also create simple languages (e.g., Domain Specific Languages) or extend existing ones when the languages available do not exactly meet the evolving needs of the problem at hand. The languages that you create with MPS will integrate nicely with languages developed by others.
MPS is distributed under the Apache 2.0 license and can be obtained from http://jetbrains.com/mps. This talk will provide an introduction to meta programming and present examples of applications. The talk will be followed by a demonstration.
The speaker has recently published an introductory book describing MPS. More details can be found at http://books.campagnelab.org and in this interview: http://blog.jetbrains.com/mps/2014/04/interview-with-fabien-campagne-about-dsls-bioinformatics-and-his-new-mps-book.
Graciously hosted by The Ladders.