Download Clean

From Clean
Revision as of 11:42, 19 October 2018 by Johnvg (talk | contribs)
Jump to navigationJump to search

Clean is available for #Windows (32 and 64 bit), #Linux (32 and 64 bit) and #Mac OS X (64 bit only).

The latest stable release is Clean 3.0. The use of development releases is required for iTasks.

Clean 3.0 License

Clean is available under the Simplified BSD License.

For details see the Clean License Conditions

Clean and iTasks (Development)

We provide automated nightly builds from the development branches in version control (a mix of git and subversion) of the various components that Clean consists of. We are constantly improving the quality control of these builds, but don't expect a perfectly stable system.

All nightly builds are available from: https://ftp.cs.ru.nl/Clean/builds.

At this moment the following packages are available:

  1. clean-bundle-itasks-*: The most recent packaging of clean with everything that's needed to build iTasks applications included. These packages are only built for linux-x64, windows-x86 and macos-x64.
  2. clean-classic-*: A 'classic' clean distribution similar to the 2.4 release and older. This package is built for linux (x86 and x64), windows (x86 and x64) and macos (x64).

Beside the bundles, we are also packaging individual components (libraries and/or tools).

If you want to get started with clean and iTasks quickly you can just download the following packages

Windows (32 bit) clean-bundle-complete-windows-x86-latest.zip
Linux (64 bit) clean-bundle-complete-linux-x64-latest.tgz
Mac OS X (64 bit) clean-bundle-complete-macos-x64-latest.tgz

Clean 3.0 (Stable)

Windows

Clean 3.0 with IDE and libraries (Intel, 32bit) Clean_3.0_32.zip - Clean_3.0_32.7z
Clean 3.0 with IDE and libraries (Intel, 64bit) Clean_3.0_64.zip - Clean_3.0_64.7z

Linux

Running Clean on Linux is a little different than running Clean on Windows. First of all, there is no IDE available, which means that you have to manage your projects using command-line tools. The primary tool to run Clean on Linux is clm. This is a small wrapper tool around the compiler that checks which files have changed and need to be (re)compiled. It is basically a Clean-specific make replacement.

Clean 3.0 with libraries (Intel, 32bit) clean3.0_32.tar.gz
Clean 3.0 with libraries (Intel, 64bit) clean3.0_64.tar.gz

Mac OS X

This is a command-line version, similar to the linux version. Apple's developer tool XCode should be installed first.

Clean 3.0 with libraries (Intel, 64bit) clean3.0.zip

Source code

Windows Complete sources Clean3.0Sources.zip - Clean3.0Sources.7z
Linux Complete sources Clean3.0Sources.tar.gz
Linux Bootstrap from intermediate ABC files. 32-bit. Does not contain all sources. clean3.0_32_boot.tar.gz
Linux Bootstrap from intermediate ABC files. 64-bit. Does not contain all sources. clean3.0_64_boot.tar.gz
Mac OS X Bootstrap from intermediate ABC files. 64-bit. Does not contain all sources. clean3.0_boot.zip

Older releases

You can view the release history of older releases.

Experimental release for Haskell Front End

There is an experimental release (9.3M) of Clean that accompanies the paper Exchanging Sources Between Clean and Haskell - A Double-Edged Front End for the Clean Compiler, by John van Groningen, Thomas van Noort, Peter Achten, Pieter Koopman, and Rinus Plasmeijer. In Jeremy Gibbons, editor, Proceedings of the 3rd Haskell Symposium, Haskell '10, Baltimore, MD, US. ACM Press, 2010.

Disclaimer: The implementation of the front end is work in progress. This beta release is far from complete and is not fully tested.

To compile and run your first Clean* and Haskell* programs, take the following steps:

  1. Unpack the downloaded ZIP file to your destination of choice
  2. Open CleanIDE.exe, located on the top level of the folder
  3. Choose in the prompt if you would like to associate files with the Clean IDE
  4. Click File > Open ... and browse to the Examples folder
  5. Open Main.prj and press CTRL + R to compile and run the project

The file Main.hs imports all the examples from the paper and runs several examples, feel free to experiment!