Spoofax Language

SpoofaxLang is a meta-language that can used to define new languages. It is currently an on-going project at the Delft University of Technology, The Netherlands.

Primary vision of developing this language to define and reuse software languages in a modular and reusable manner to support Software Language Composition. It is one of most the desirable features of Software Language Engineering to enable reusability of the existing language constructs.

"From now on, a main goal in designing a language should be to plan for growth." – Guy Steele: Growing a Language, OOPSLA’98 invited talk.

A language should be designed in such a way that evolving it with respect to different language constructs requires the minimum effort. It is well-known that designing a high quality language requires considerable effort. SpoofaxLang promotes languages as a reusable library with the vision of agile language development. Therefore, the cost of full-blown language can be reduced considerably.

Moreover, providing rich IDE support in language development is another area that will be addressed in this language. SpoofaxLang will be integrated with Spoofax - a language workbench to support various IDE features such as, code highlighting, outliner, various coloring scheme , reference resolving and so on.

Therefore, SpoofaxLang is yet another effort to realize language-oriented programming in a pragmatic way. It can be considered as a mean to achieve modular software language composition.

-- TobiVollebregt - 24 Mar 2012