Release history

From Clean
Jump to navigationJump to search

July 14, 2005

Lethevert has created a Japanese version of the Clean system. We have included a link to his project with his kind permission.

May 31, 2005

Clean 2.1.1 is released for Windows, MacOS X, Linux, and Solaris. This release contains bug fixes and new features, to wit:

  • Libraries for Windows: GAST, GECs, Hilde, Parser
  • Foreign exports
  • Improved redirected standard input/output
  • Let in comprehensions
  • Code generator optimisations

October 31, 2003

Clean 2.1.0 is released for Windows, MacOS X, Linux, and Solaris. Major new features are: abstract synonym types, boxed records, stack overflow checks without overhead, code optimizations, optimizing linkers for Linux and Solaris, MacOS X support for Object I/O 1.2. and IDE (Carbon), direct code generation on Solaris, version for Linux that bootstraps from ABC files, major improvements in the dynamics implementation on Windows.

December 12, 2002

Clean 2.0.2 is released for PC, PowerMac, Linux, and Solaris. It includes experimental support for generic programming, improved support for dynamics (polymorphic types included), strict lists and many bug fixes.

July 4, 2002

Clean 2.0.1 is released for PC, PowerMac, Linux, and Solaris. It includes a proof tool dedicated to Clean programs (Sparkle), dynamic typing and linking, and many new language features.

December 21, 2001

Clean 2.0 is released for the Windows platform. It includes a proof tool dedicated to Clean programs (Sparkle), dynamic typing and linking, and many new language features.

September 13, 2000

Clean 1.3.3 and ObjectIO 1.1.1 are released for the Windows and Macintosh platforms. The ObjectIO 1.2 library for windows is split in three parts: ObjectIO 1.2.1, TCP library 1.2.1 and game library 1.2.1.

Two new libraries are released: ExtendedArith 1.0 and StdLib 1.0. All these libraries can be downloaded here.

April 13, 2000

The new Clean Integrated Development Environment, The Clean IDE version 2.0, is released for the Windows platform. [[Download|To download it, click here]. It includes a new editor, project manager, search facilities, and many, many faclilities to make life easier for the Clean programmer.

The system is entirely written in Clean itself on top of the Object IO library. So, this new IDE is a nice example that you can write serious applications is Clean.

April 4, 2000

Mike Wiering has made a new Tile Editor. The tiles are used for making sprites, animations and background layers for the 2D Clean games as supported by the game library. When you have made the drawings (or changed the exiting ones of the example games), Clean code can be generated such that the drawings can be controlled in the program.

February 16, 2000

Great and huge Object IO library for programming graphical user interfaces on a high level of abstraction. Includes all you need to make a professional looking windows application, lightweight processes, support for printing, bitmap handling, a game library, the latest TCP library and much more. The library comes with many examples, including three nice platform games.

February 15, 2000

New library module made by Marco Kesseler added. It contains functions for JPEG and Huffman decoding.

November 17, 1999

Directory 1.0 for Window, Unix and Mac(PPC) released. Module to access and manipulate directories

October 4, 1999

Clean 1.3.1 for Linux with glibc2 (Intel, RedHat 6.0) released.

July 30, 1999

Update of the pseudorandom number generator MersenneTwister 1.0.1 released Bugs fixed

July 28, 1999

Kristóf Harmat and Péter Tandi (both Eötvös Loránd University, Budapest, Hungary) release ServiceCombinators for Mac (PPC) Tool for interoperation between Clean applications and CGI applications (written in any language) residing on web servers using HTTP.

July 12, 1999

Balázs Csizmazia(Eötvös Loránd University, Budapest, Hungary) releases Clean/IIOP(CORBA) interface tool 0.3 for Linux

July 9, 1999

Release of the pseudorandom number generator MersenneTwister 1.0

July 8, 1999

New draft version of part I of the book "Functional Programming in Clean" available.

July 1, 1999

Updated version released: Clean 1.3.2 for Windows (95, 98 and NT) and Mac (PPC and 68k) some compiler bugs were removed possiblity to include linking information into icl files added printing facility added to I/O Interface

Updated version released: Object I/O 1.1 for Windows and Mac printing facility added

Release of TCP 1.1 for Windows and Mac (PPC)

June 23, 1999

Updated version of the numerical library released: CLAS 0.7

Introduces slicing (accessing subarrays), a solver for least square problems, Cholesky decomposition and some bugs fixes.

June 21, 1999

Release of WrapDebug 1.0 (Windows, Unix, Mac) This package lets you print arbitrary expressions for debugging purposes.

May 3, 1999

Release of ArgEnv 1.0.1 (Windows, Unix only)

March 5, 1999

Bugs fixed version of ObjectIO 1.0.1 (Mac only)

Bug (which only occured in the mac version) concerning MouseStateFilter in MouseFunction fixed.

March 4, 1999

Updated version of the numerical library released: CLAS 0.6

Introduces partial pivoting for the LU factorization, some bugs fixed, some functions improved in efficiency.

February 24, 1999

Updated version released: Clean 1.3.2 for Solaris

Minor bug fixed.

February 11, 1999

New tool to call functions written in C from Clean 1.3: htoclean 1.0

January 20, 1999

Updated versions released:

Clean 1.3.1 for Windows 95/98/NT Clean 1.3.1 for PowerMac

The new features are:


  • Printing added
  • fixed bug for asian systems (Windows)
  • fixed copy clipboard bug (Windows)

Profiling tools: Printing added

IOInterface 0.8: fixed bug for Asian systems(Windows)

January 11, 1999

Updated versions released:

Clean 1.3.1 for Solaris Clean 1.3.1 for Linux ELF and MkLinux

The most important new features are:

The CleanIDE is now available for these platforms.

Linux versions:

  • Faster compilation, because the code-generator generates object files instead of assembly files.
  • Fixed slow garbage collection bug in Clean 1.3 for Linux.
  • Added some garbage collection options.

January 8, 1999

Library for basic numerical linear algebra operations CLAS version 0.5 pre-released. Refurbished web-pages launched.

July 20, 1998

The first joint beta release of the Object IO library 1.0.1 for Macintosh and Windows is now available.

May 22, 1998

A new version (Clean 1.3) is now released for Windows95/NT, Mac, Linux and Solaris at the same time. The new features comprise: time profiler (PowerMac and Windows), space profiler (PowerMac), stack-trace generation, direct record and array updates, destructive updates using uniqueness type information, concise import of algebraic types, clean-up of StdEnv (e.g. file I/O), compiler handles all newline conventions (Mac, DOS, Unix), bitmap support.

March 17, 1998

The Clean www-pages have been restructured.

January 16, 1998

The CLEAN mailing lists for announcements and discussions are now archived via www.

November 3, 1997

The first release of the new Object I/O library (previously named the 1.0 I/O library) is now available (for Macintosh only, we are working on the PC version). Its most important new features are:

  • Easy composition of objects
  • Interactive process creation
  • Message passing of arbitrary data and function types
  • Local state that can be added at any graphical user interface element
  • Clipboard handling of text

The old 0.8 I/O library is still available.

August 21, 1997

At the Universidad de Uberlandia in Brasil Alcimar Soares and Ana Abrao made some pretty good notes on the use of CLEAN (and it's underlying principles) including example programs (and a good sense of humour). The notes contain several chapters with examples. The entrance page is Functional Programming in CLEAN. (Pages have been removed.) Check it out.

June 20, 1997

CLEAN version 1.2.4 is now also available for the Macintosh (68k/PowerPC) versions. This version also includes a few fixes for the PowerPC version and some improvements of the CLEAN Integrated Development Environment.

June 18, 1997

The Windows version of CLEAN now runs both on Windows NT 4.0 as well as on Windows '95. A few changes and fixes have been made (CLEANversion 1.2.4).

May 1997

The Windows95 version 1.2.3 is now available from our site.

CLEAN1.2.3 for the Mac and PowerMac (native) is also available. There are a few changes from version 1.2.

January 1997

CLEAN1.2 for the Mac and PowerMac (native) is now available from our site.

The system comes in three flavours:

  • CLEAN12.68k.sea.hqx: CLEAN 1.2 for 68k Macs.
  • CLEAN12.ppc.sea.hqx: CLEAN 1.2 for PowerMacs.
  • CLEAN12.both.sea.hqx: CLEAN 1.2 for 68k and PowerMacs.

The 68k version runs on 68k Macs and PowerMacs (emulated) and generates 68k code. The PPC version runs on PowerMacs (native) and can generate 68k code and PPC code.

An interesting aspect of the Mac/PowerPC version is that the CLEAN program development system is written in CLEAN itself.

With the exception of the slight syntax changes for existential types, all changes are extensions or new facilities such that a CLEAN1.1 program will usually run without any change in CLEAN1.2.

A draft version of Concurrent CLEAN Language Report (version 1.2) is available.

The Windows95 version is nearing completion. We are in the phase of internally testing (and debugging) it with various applications.

September 1996

There are some new versions for you to download.

For OS/2 a version of CLEAN 1.1 is now available. This version no longer needs emx.

Since it seems that most users of linux are now using the ELF distribution we have now produced two versions: the old a.out and the ELF one.

For the Sun versions there are new bug fix releases:

  • CLEAN 1.1.2 for Solaris (SunOS 5.x): bug fix release with the following fixes:
  1. code generator now generates correct assembly for div and mod with large integer constants
  2. removed debug trap from io library (no more "get_exposed_area: it happened!" messages)
  3. fixed linking procedure, clm should now work with Solaris 5.5 on SparcStation4
  4. fixed installation procedure, crt object modules are now copied to the clean/lib directory
  • CLEAN 1.1.2 for SunOS 4.x: a bug fix release with the following bug fixes:
  1. code generator now generates correct assembly for div and mod with large integer constants
  2. removed debug trap from io library (no more "get_exposed_area: it happened!" messages)

August 1996

CLEAN1.1 releases for the Mac/68k, Sun/SunOS, Sun/Solaris and PC/Linux are now available. Releases for PowerMac, Linux/ELF and PC/OS2 are in preparation. Releases for PC/Windows95 and PC/WindowsNT are being developed.

March 1996

CLEAN1.1 for the Macintosh is now available. Releases for other platforms will follow in the weeks to come.

There are some important changes from version 1.0 to 1.1. You can easily convert your 1.0 programs.

The first 5 (draft) chapters of the "programming in CLEAN" book are now available. It is recommended to use them instead of the old two introductory chapters.

The latest version of the draft CLEAN 1.1 Reference Manual is available now in a variety of formats.

February 1996

We have added a new www page with references to manuals and books on CLEAN. We are working on a new book on CLEAN with lots of case studies showing you how to write real applications. The book discusses the CLEAN 1.1 system (on the net soon) and a CLEAN 0.8 I/O lib (which is already available on all platforms). Some draft versions of some chapters are avaialable now.

October 1995

CLEAN 1.0 (version 1.0.2) is now also available for the Sun4 (Solaris). Both for the Solaris version as well as for the SunOS version one can choose to use an IO-lib based on the Open-Look toolkit or based on the X-View toolkit.

September 1995

CLEAN 1.0 (version 1.0.2) is now available for the following platforms: Macintosh (Motorola), PC (OS/2), PC (Linux) and Sun4 (SunOS). A native version for the PowerMac and Sun Solaris is under test and they will be released very soon.

In version 1.0.2 some bugs in the previous release have been removed. We recommend to update your old CLEAN system with this new release.

June 1995

Announcement: CLEAN 1.0 (version 1.0.0) now available for Macintosh and PC(OS/2)

Platforms and availability:

The new system is now available on the Mac (Motorola) and on the PC (OS/2). We still have to do some small tests for the versions on the Sun (Sparc/SunOS and Sparc/Solaris). These systems will be released soon. A native version for the PowerMac (generating native code) is near completion and will follow later. A version for PC(Linux) with a converted third party version of the 0.8 I/O lib will also be made.

Postscript versions of the documentation have now also been made available:

  • the Concurrent CLEAN 1.0 Language Report.
  • a quick introduction in functional programming using CLEAN 1.0( Chapter 1, Chapter 2, Appendix (syntax description and StdEnv + 0.8 I/O lib definition modules))
  • For information about the changes in the language compared to CLEAN 0.8 see the other CLEAN pages and/or the May 1995 update below.

May 1995

Announcement: CLEAN1.0 for Macintosh available

We have released a new version of CLEAN, version 1.0.0.

Platforms and availability: The new system is currently only available on the Mac (Motorola). We still have to do some small tests for the versions on the Sun and OS/2. These systems will be released soon. A native version for the PowerMac (generating native code) is near completion and will follow later.

Compared with the previous version of CLEANwe have added a lot of new features. Some are special, others are similar to those commonly found in other modern lazy functional languages (such as Miranda, ML, Haskell and Gofer). People familiar with these languages will have no difficulty to program in CLEAN and we hope that they enjoy the compilation speed and quality of the produced code.

The most important changes in the language are:

  • CLEAN has been changed from an intermediate language to a functional programming language with a syntax in the style of Miranda, Haskell and the like;
  • various small syntactic sugar is added (infix operators, a case construct, local function definitions, lambda-abstractions, list comprehensions, lay-out rule, etcetera);
  • overloaded functions, type classes and type constructor classes can be defined;
  • records and arrays are added as predefined data structure with handy operations (such as an update operator for arrays and records, array comprehensions etc.);
  • the uniqueness typing is refined (now polymorphic and inferred);
  • a more refined control of strictness is possible (partially strict data structures can be defined for any type, in particular for recursive types, there is a strict let construct);
  • existentially quantified types can be defined.

Converting CLEAN0.8 programs to CLEAN1.0: There is a CLEAN program which can convert old programs into the new CLEANnotation.

I/O library: We have converted the old CLEAN0.8 I/O library to the new syntax with help of the conversion program. This library will be available on all system such that you can port interactive CLEAN programs to other platforms without modification of code.

We are also preparing a new library, the CLEAN Standard I/O library as described in the new language report. It will also be put on the net later, people who want to experiment with it can contact us. We have this new lib only for the Mac and it will take some time before it will be on other systems as well.

The new I/O library has the following advantages over the old one:

  • the I/O library is improved (with respect to orthogonality, modularity, extendibility, portability);
  • the I/O library is extended allowing to define interactive processes running interleaved inside one application which can communicate via files, shared data and message passing;
  • one can define interactive processes which (in the near future) can run distributed on workstations connected via a network.

December 1994

The new CLEAN version is not yet there. A version including overloading (an extension we did not plan originally to be included in this version) is being tested on the Mac's on our corridor.

We have made a time schedule for tidying up, for small parts that were not done yet and for testing on mac, pc and sun. This makes that we are quite confident in announcing that the new release will be there before April, 1, 1995. Maybe, a pre-release on the Mac only will be possible at an earlier stage.