Poly/ML Home
About Poly/ML
Support for Poly/ML
Documentation
Get Poly/ML
Download Page

By reaching this page you have agreed to the Poly/ML licence.

PolyML version 4.1.3 is the current release.  Version 4.0 is still available but will be withdrawn in due course.  Poly/ML is available in native code versions for i386, Power PC and Sparc.  You may be able to use the portable version on other architectures.  We have binary distributions for version 4.1.3 for a number of operating systems.  There are also gzipped, tar-ed archives available. For other operating systems try compiling the poly program from source and use the appropriate database.  Note: only the Sparc database includes support for X-Windows/Motif.  See the FAQ for how to compile it in on other platforms.

Binary distributions for Poly/ML 4.1.3

PolyML 4.1.3 is available as ready made packages for Windows and for Linux on i386.

Linux/i386.
Download polyml-4.1.3Release-1.i386.rpm (1.1Mbytes) built on Linux RedHat 5.2.  There is also an SRPM version polyml-4.1.3Release-1.src.rpm (2.6Mbytes) which includes the source of the driver (poly program) and databases for i386 and ppc. 

Windows/i386
The Windows implementation, poly413.zip (4Mbytes), includes MLShell, an editor and environment for running Poly/ML and the database includes the Windows programming structures.  Download it, unpack the zipped archive and run Setup.exe in the unpacked directory. 

Tar-ed archives.

Poly/ML is also available as gzipped, tar-ed archives.  These consist of the poly executable and a database.  The database is named DB413Release and there is a symbolic link to it called ML_dbase.

Linux/i386
Download  polyml-linux-i386.4.1.3.tar.gz (1.2 Mbytes)

Mac OS X/ppc
Download polyml-macosx.4.1.3.tar.gz (1.2Mbytes).  This version will only work on Mac OS X 10.2 and later. If you are running an earlier release use the version 4.1.2 binary or download the driver source and build a replacement for the poly program.
Because of limitations in Mac OS X the foreign function interface (CInterface structure), time profiling (PolyML.profiling 1) and polling (OS.IO.poll) do not work in this release.

Databases.

For other operating systems and for the Sparc architecture you may wish to use the appropriate database and the driver source.

i386 - polyml-4.1.3.i386.tar.gz
Power PC - polyml-4.1.3.ppc.tar.gz
Sparc - polyml-4.1.3.sparc.tar.gz   This database includes X-Windows and Motif support.

Portable database portDB.txt.gz (1.2 Mbytes) (see Porting Poly/ML for how to use this).

Sources.

The Poly/ML 4.1.3 sources are arranged as three gzipped tar-ed archives.  The driver program (the source for the poly binary) polyml-driver-4.1.3.tar.gz is written in C with a small amount of assembly code.  The ML code is mainly contained in polyml-mlsource-4.1.3.tar.gz with the basis library as a separate archive in polyml-basis-4.1.3.tar.gz.

To build the poly binary download the driver, unpack it and then type:
cd driver; ./configure; make

If you wish to rebuild the poly system unpack the ML source and basis library archives into the same directory so that you have two directories called mlsource and basis.  Change to this directory.  In mlsource/MLCompiler/CodeTree make a link from the appropriate version of CodeCons.XX and call it CodeCons.   E.g. on the i386 architecture type
(cd mlsource/MLCompiler/CodeTree; ln -s CodeCons.i386 CodeCons)
Then run
poly ML_dbase < mlsource/BuildAll.sml

Note that this cannot be used to compile poly for a different architecture since you need an existing database for that architecture.

Running Poly/ML.

You can find full information on running Poly/ML in the User Manual.   This is a "quick-start" guide.

Once you have downloaded and unpacked the archives you will have two files.

poly (or polyml.exe) is the driver and run-time system.
ML_dbase (or ml_dbase.pmd) is the Poly/ML database

To run Poly/ML type
poly ML_dbase (Unix)
or
polyml ml_dbase.pmd (at the Windows command prompt)

You can now type Standard/ML to the ML prompt.  To exit either type control-D (Unix) or control-Z followed by ENTER (Windows) and all declarations you have made will be saved to the database.  Alternatively type control-C to exit without saving.

 

Previous versions of Poly/ML.

Version 4.1.2

Linux/i386.  RPM: polyml-4.1.2Release-1.i386.rpm (1.1Mbytes), SRPM: polyml-4.1.2Release-1.src.rpm (2.6Mbytes) TAR : polyml-linux-i386.4.1.2.tar.gz (1.2 Mbytes)
Windows/i386  poly412.zip (1.0Mbytes).
Mac OS X/ppc polyml-macosx.4.1.2.tar.gz (1.2Mbytes). This will only run on Mac OS X 10.1 and earlier releases.

Databases.
For Linux and FreeBSD on i386 platforms: polyml-4.1.2.i386.tar.gz
For Solaris on Sparc platforms: polyml-4.1.2.sparc.tar.gz
For the Power PC: polyml-4.1.2.ppc.tar.gz

Sources.
Poly Source polyml-driver-4.1.2.tar.gz
Compiler polyml-mlsource-4.1.2.tar.gz
Basis library polyml-basis-4.1.2.tar.gz.

Version 4.0

Linux/i386.  RPM: polyml-4.0Release-1.i386.rpm (1.1 Mbytes), SRPM: polyml-4.0Release-1.src.rpm (2.6 Mbytes)
Linux/ppc.  RPM: polyml-4.0Release-1.ppc.rpm (1.2 Mbytes), SRPM: polyml-4.0Release-1.src.rpm (2.6 Mbytes)
Windows/i386  poly40.zip (1.0Mbytes).
Mac OS X/ppc polyml-4.0Release.macosxbeta.tar.gz (1.3 Mbytes).

Databases.
For Linux and FreeBSD on i386 platforms: polyml-i386-4-0.tar.gz (1.0 Mbytes)
For Solaris on Sparc platforms: polyml-sparc-4-0.tar.gz (1.1 Mbytes)
For the Power PC: polyml-ppc-4-0.tar.gz (1.1Mbytes)

Sources.
Poly Source polyml-driver-4-0.tar.gz (420kbytes)
Compiler polyml-mlsource-4-0.tar.gz (741kbytes)
Basis library polyml-basis-4-0.tar.gz (123kbytes).

Version 3.X

Download Poly/ML 3.X for Windows poly3x.zip   (641Kbytes)
Download Poly/ML 3.X for Linux poly-linux-3X.tar.gz   (702Kbytes) or polyml-3X-1.i386.rpm   (697Kbytes)
Download Poly/ML 3.X for Sparc/Solaris poly-sunos5-3X.tar.gz (1.02Mbytes).

Last updated: 08 February 2002 by David Matthews.