Computing Dictionary
Clean definition
language A
lazy higher-order purely functional language from the
University of Nijmegen. Clean was originally a subset of
Lean, designed to be an experimental
intermediate language and used to study the
graph rewriting model. To help focus on the essential implementation issues it deliberately lacked all
syntactic sugar, even
infix expressions or
complex lists,
As it was used more and more to construct all kinds of applications it was eventually turned into a general purpose functional programming language, first released in May 1995. The new language is
strongly typed (Milner/Mycroft type system), provides
modules and
functional I/O (including a
WIMP interface), and supports
parallel processing and
distributed processing on
loosely coupled parallel architectures. Parallel execution was originally based on the
PABC abstract machine.
It is one of the fastest implementations of functional languages available, partly aided by programmer
annotations to influence evaluation order.
Although the two variants of Clean are rather different, the name Clean can be used to denote either of them. To distinguish, the old version can be referred to as Clean 0.8, and the new as Clean 1.0 or Concurrent Clean.
The current release of Clean (1.0) includes a compiler, producing code for the
ABC abstract machine, a
code generator, compiling the ABC code into either
object-code or
assembly language (depending on the
platform), I/O libraries, a
development environment (not all platforms), and
documentation. It is supported (or will soon be supported) under
Mac OS,
Linux,
OS/2,
Windows 95,
SunOS, and
Solaris.
(http://cs.kun.nl/~clean/). E-mail:
clean@cs.kun.nl. Mailing list:
.
["Clean - A Language for Functional Graph Rewriting", T. Brus et al, IR 95, U Nijmegen, Feb 1987].
["Concurrent Clean", M.C. van Eekelen et al, TR 89-18, U Nijmegen, Netherlands, 1989].
[Jargon File]
(1995-11-08)