Multilingual support for library-based syntactic extensibility

234 views
Skip to first unread message

Sebastian Erdweg

unread,
Aug 22, 2012, 6:10:01 PM8/22/12
to sug...@googlegroups.com
When we started the SugarJ project, we chose Java as the base language. The rationale was that due to Java's wide distribution, to most people all novelty of "SugarJ" would rest in "Sugar", and none in "J". Nevertheless, we always wanted to support other languages, too.

To realize other dialects of SugarJ, we generalized the SugarJ compiler by abstracting over any Java-specific code. The result: a rather simple interface that describes the language-specific methods that are required for realizing library-based syntactic extensibility. We call an implementation of this interface a language plugin. The compiler delegates all language-specific actions to the active language plugin.

So far, we developed three language plugins: Java, Haskell (see also previous post), and Prolog.

The interface for language plugins is still evolving as we are exploring other base languages. One of our goals is to find a an interface for language plugins that is general enough to support library-based syntactic extensibility for as many programming languages as possible.

Therefore:
This is a particular good moment to develop library-based syntactic extensibility for your favorite language. We will help you were we can and try to evolve the interface as needed. As an extra, our system provides you with a customizable Eclipse-based IDE for your favorite language for free.

Cheers,
Sebastian
Reply all
Reply to author
Forward
0 new messages