Poly/ML Home
About Poly/ML
Get Poly/ML
Download Page

The current release of Poly/ML (5.6) is available as downloads from Github (https://github.com/polyml/polyml/releases) and SourceForge (http://sourceforge.net/projects/polyml). For Linux, Mac OS X, Cygwin, BSD and similar platforms download the source tar-ball and follow the instructions below. There are binary distributions for 32-bit and 64-bit Windows.

Source Release.

After downloading and unpacking the source change to the polyml directory and run.

make install

./configure by default places installed files within /usr/local and in particular the libraries are placed in /usr/local/lib. Quite a few Unix variants e.g. Debian, Ubuntu and Fedora, do not include /usr/local/lib in the library search path and on those distributions it may be better to override this by specifying
./configure --prefix=/usr

Please note: although Poly/ML is released as source the source actually contains binary versions of the compiler. There are native code versions for i386 and x86-64. The configure script will select the appropriate version. On other architectures it will use interpreted byte code which will necessarily be slower than the native code versions.

GIT Source.

The released version has been extensively tested before being released. If you are using Poly/ML for real work this is the version you should use. The development version is kept in a GIT repository at GitHub (https://github.com/polyml). Note that the GIT code may change frequently and things may break. Bug fixes, though, are applied first to this so you may wish to try this if you have problems. To download the GIT version do the following:

git clone https://github.com/polyml/polyml.git

At this stage you can simply build Poly/ML in the normal way but this may not incorporate all the changes. In particular the compiler is not rebuilt by the normal build process so to do a complete recompile do the following:

make compiler

make install

When updating an existing directory from GIT it may well be worth running make distclean before the update to remove any old files.

The GIT repository contains the main development line but also bug fixes for released versions. These are branches such as fixes-5.6.