*** Welcome to piglix ***

Clean (programming language)

Clean
Cleanlang logo.jpg
Paradigm functional
Designed by Software Technology Research Group of Radboud University Nijmegen
First appeared 1987; 30 years ago (1987)
Stable release
2.4 / December 23, 2011; 5 years ago (2011-12-23)
Typing discipline strong, static, dynamic
OS Cross-platform
License GNU LGPL, Simplified BSD, commercial software
Filename extensions .icl, .dcl, .abc, .sapl
Website clean.cs.ru.nl
Influenced by
Lean, Miranda, Haskell
Influenced
Haskell

Clean is a general-purpose purely functional computer programming language. For much of the language's active development history it was called Concurrent Clean, but this was dropped at some point.

The language Clean first appeared in 1987 and is still being further developed. It shares many properties with Haskell: referential transparency, list comprehension, guards, garbage collection, higher order functions, currying and lazy evaluation.

On Windows, an integrated development environment (IDE) is included in the Clean distribution.

Clean's method for dealing with mutable state and I/O is done through a uniqueness typing system, in contrast to Haskell's use of monads. The compiler takes advantage of the uniqueness type system to generate more efficient code, because it knows that anything with a uniqueness type can only be used once. Therefore, a unique value can be changed in place.

Hello world:

Factorial:

Fibonacci sequence:

Infix operator:


...
Wikipedia

...