Download Clean

From Clean
Jump to navigationJump to search

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

The latest stable release is Clean 3.1. The use of #Latest iTask and Clean Releases releases is required for iTasks.

Using clean on Linux and MacOS is a bit different than on Windows (*NIX Instructions).

Clean 3.1 (Stable)


Clean is available under the Simplified BSD License.

For details see the Clean License Conditions


Clean 3.1 with IDE and libraries (Intel, 32bit) - Clean_3.1_32.7z
Clean 3.1 with IDE and libraries (Intel, 64bit) - Clean_3.1_64.7z


Running Clean on Linux is a little different than running Clean on Windows (see *NIX Instructions for details).

Clean 3.1 with libraries (Intel, 32bit) clean3.1_32.tar.gz
Clean 3.1 with libraries (Intel, 64bit) clean3.1_64.tar.gz
Clean 3.1 with libraries (ARM, 64bit) clean3.1_64_arm.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.1 with libraries (Intel, 64bit)

Source code

Windows Complete sources - Clean3.1Sources.7z
Linux Complete sources Clean3.1Sources.tar.gz
Linux Bootstrap from intermediate ABC files. 32-bit. Does not contain all sources. clean3.1_32_boot.tar.gz
Linux Bootstrap from intermediate ABC files. 64-bit. Does not contain all sources. clean3.1_64_boot.tar.gz

Latest iTask and Clean Releases

The latest versions of Clean and Clean libraries, including iTasks, are available in the package registry at The packages can be installed using the Nitrile package manager. To install Nitrile follow the instructions at

For developing iTasks applications within VSCode, a template ( is available, which automatically configures a docker container providing a development environment.

Older releases

You can view the release history of older releases.

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:

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 one of the following packages:

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

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!