Download

Spoofax
To install Spoofax/IMP, all you need is a copy of Eclipse 3.5 to 4.2, preferably one that includes the plugin development environment (we recommend the "Eclipse 3.7 classic" distribution). Spoofax runs on Windows, Linux, and Mac OS X. Editors built with Spoofax use 100% Java code and can be used on any platform that supports Eclipse.

Installation and Setup (required)

Spoofax requires no separate binary packages or native installation, but for the development of plugins we strongly recommend you change the Eclipse configuration to better accommodate meta-programming.

Please change the eclipse.ini file to include the following options just after the -vmargs argument:

-Xss8m
-Xms256m
-Xmx1024m
-XX:MaxPermSize=256m
-server
-Djava.net.preferIPv4Stack=true

This sets an 8 MB stack size and 1024 MB of virtual memory (adjust downwards for low-memory systems). The eclipse.ini file is located in the installation directory of Eclipse, and typically in /Applications/eclipse/Eclipse.app/Contents/MacOS for Mac OS X. An example of a file after the changes is provided here.

Note that every option appears on a separate line, with no following spaces, and that the memory options appear after the -vmargs option. The -Xmx and -Xms options replace corresponding options that may have been in the existing file. Setting these options ensures that Eclipse has sufficient memory to dynamically load editors and is prepared for a full meta-programming environment.

Stable releases

You can install the Spoofax language workbench using the update site mechanism of Eclipse. Go to the Help>Software Updates menu in Eclipse. Then select "Add...", enter the site name "Spoofax", and the update site URL:

   http://spoofax.org/update/stable

Now select Spoofax (you may have to reselect the update site you just entered), and follow the steps of the wizard.

Unstable releases

An unstable, but somewhat tested build can be installed from the unstable update site. The unstable build should only be used when bleeding edge features are needed.

   http://spoofax.org/update/unstable

If you know what you are doing, and/or you want to help out with testing and development, the latest build can be installed from the nightly update site. These builds are untested!

   http://spoofax.org/update/nightly

Incompatibilities

The Eclipse Web Toolkit Platform (WTP) conflicts with Spoofax editors that use extensions that are associated to the XML content type. The following extensions are affected: ent, dtd, mod, html, htm, xhtml, htpl, wml, shtml, shtm, xmi, xml, xsl, xslt, wsdl, xsd, exsd, xmi, xsl, xslt, xsd. Note that the Eclipse for Java Developers distribution includes WTP, so we recommend using the "Eclipse 3.7 classic" distribution instead.

A workaround is available for deployed plugins only. The workaround is to add a content type to the plugin.xml of your editor as follows:

  <extension point="org.eclipse.core.contenttype.contentTypes">
    <content-type base-type="org.eclipse.core.runtime.properties"
      file-extensions="ent"
      id="entlang.entfile"
      name="Entlang file"
      priority="normal">
    </content-type>
  </extension>

License

Spoofax/IMP is open source software and is licensed under the GNU Lesser General Public License (LGPL).

Version history

We keep track of all resolved issues at our YellowGrass issue tracker. Below is an overview of released versions. We also maintain a roadmap of past and future versions.

The Spoofax/IMP Language Workbench

2013

The Spoofax/IMP Language Workbench

2012

The Spoofax/IMP Language Workbench

2011

The Spoofax/IMP Language Workbench

2010

Spoofax

2006

Spoofax

2005