MRG home page · Research · Publications · Projects · Software · People

PolyML IDE-mode and jEdit Plugin


This project supported the development of PolyML (in particular release 5.3). It introduced a protocol for interaction with an IDE and re-engineered the way type-informtion is held in order to make error messages significantly easier to understand. This release also fixed issues with the internal representation of signatures which significantly decreased the size of saved heaps (in some cases from over 250MB to less than 4MB). See the release notes for further details on changes in PolyML releases.

This work was supported EPSRC Platform grant EPE/005713/1, and by the Isabelle Group at TU München.

On the PolyML side, there is now a simple IDE protocol for interaction between the compiler and an IDE. This lets the interface get type information for (sub)expressions, navigate the source-code abstract syntax tree, and enables saving of intermediate states of compilation to allow quick(er) re-compilation of files.

There are three examples showing the features developed in this release:

Please report bugs to the PolyML trac, or by email to the PolyML mailing list.

More generally, we are interested in interfaces to a functional programming language.

Download/Install the jEdit Plugin

The current usable prototype is revision 1130. We are working on improving the plugin, but currently newer versions are much less usable.

To download/install version 1130, download and copy the following PolyML.jar to your jedit plugins directory (~/.jedit/jars on Linux). Or get it from source by:

svn co -r 1130 jedit-plugin 

To try the cutting edge, not really working version, you can either

Either way, you will have created the directory jedit-plugin/. To build the plugin (requires ant and java as well as ErrorList plugin for jEdit), you will need to make a copy of the and edit it so that it has the right paths for your jEdit installation. Once you've done this, you can build the plugin with:
cd jedit-plugin/
If this does not give you any error messages, it creates a file dist/PolyML.jar, which you can then copy to your jEdit plugins directory (on Linux, this is ~/.jedit/jars).

Documentation and Links

Other PolyML Links and projects in the Dream Group

PolyML Homepage

jEdit Plugin Documentation

PolyML IDE protocol Documentation

Mathematical Reasoning Group, Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland
Tel: +44 (0)131 650 2733      Fax: +44 (0)131 650 6899
Please send corrections and suggestions for this page to the Lucas Dixon
Unless explicitly stated otherwise all material on this web site is copyright © The University of Edinburgh.