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.
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:
More generally, we are interested in interfaces to a functional programming language.
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 https://polyml.svn.sourceforge.net/svnroot/polyml/jedit-plugin jedit-plugin
To try the cutting edge, not really working version, you can either
tar zxvf polyml-jedit-plugin.tar.gz
svn co https://polyml.svn.sourceforge.net/svnroot/polyml/jedit-plugin jedit-plugin
jedit-plugin/. To build the plugin (requires
javaas well as
ErrorListplugin for jEdit), you will need to make a copy of the
build.properties.sampleand 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/ antIf 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