Language Oriented Programming

From Icbwiki

Jump to: navigation, search

Encoding biological concepts in traditional programming language has been useful (e.g., in the crover framework and in other frameworks developed in my lab), but some of us are seeing the limits of this approach. The main problems are increased difficulty maintaining the software artifacts that help model and manipulate biological concepts, and consequently limited practical reuse.

If bioinformatics software frameworks are already reaching their limit, what is next? It could be language-oriented programming. While there is no evidence at this point that Language Oriented Programming (LOP) will fit the bill, we clearly need a new approach to building software, so it is worth investigating LOP.

Language oriented programming is a new programming paradigm where programmers define domain specific languages, domain specific editors, and generators that convert the domain specific language to something else (generally executable). Information about this programming paradigm is sparse, but the following articles provide background information:

Most of the interesting work about LOP seems to be done in industry (e.g., IntentionalSoftware, or Jetbrains). Many of these developments are still done internally in these companies, and the information available publicly remains sparse.

Jetbrains recently started distributing its Meta Programming System through an early access program. Documentation about this software prototype is available from:

This wiki also offers a series of protocols for working with MPS. Fabien Campagne

Personal tools