http://www.sergeydmitriev.com/mps/doc/article/article.html
This is fantastic stuff coming from one of my all-time favorite companies, JetBrains. Here is a start:
Framework-usage pattern in MPS
Cyril Konopko, Konstantin Solomatov
Introduction
Language Oriented Programming or LOP is a software development approach which employs domain specific languages, or DSLs for short. A domain specific language, in contrast to general purpose languages, is a language which is designed to deal with one specific kind of tasks or with several related task kinds within a specific domain. For example, SQL is a DSL in a domain of database queries. LOP solves your main problem by dividing it into several subproblems in different domains, then each subproblem is solved using an appropriate DSL. In rather big projects, LOP can reduce singificantly the amount of work which has to be done.
In this article we will speak about JetBrains MPS, being developed by JetBrains, Inc., which is a so-called “language workbench”, i.e. a tool that helps you to use LOP in practice. You can read more about language workbenches on Martin Fowler’s site and about LOP in Sergey Dmitriev’s article.
A lot of people who heard about MPS don’t realize how it’s possible to take advantage of it. The current state of MPS is far from the point where you can throw away your Java or C# IDE and start writing everything in MPS with LOP, however it’s possible to use LOP and simplify some tasks significantly today. Actually, you probably use in your current project some kind of poor man’s LOP, techniques which make it possible to create small sublanguages in the program written on a language like Java, C#, or Ruby (Martin Fowler called such sublanguages Internal DSLs). This article explains the pattern that can employ MPS in its current state, describes prevalent poor man’s LOP tricks and presents several examples of it.
….
Seriously, check this out. Download the EAP, start using…..
Thanks,
Damon




