Clean Language

Clean is a FunctionalProgrammingLanguage available from http://www.cs.kun.nl/~clean/index.html

Some features:

N.B. CleanLanguage is only available under a restrictive license. It's LGPL so long as you're not selling anything you write. Otherwise you have to purchase a commercial license. This probably means CleanLanguage will not survive long.

(Apparently version 2.02 has a dual licensing policy, both commercial and the LGPL: http://www.cs.kun.nl/~clean/Download/License_Conditions/license_conditions.html . This may be an intelligent movement from their part, or at least something that will slow down their death, time will say...)

Huh? I don't get it. The LGPL explicitly allows commercial redistribution of derived works as well as the work itself, right? So, is it LGPL'd or not? -- MatthiasBenkard?

Particularly noteworthy is its approach to building the user interface; see http://www.cs.kun.nl/~clean/Manuals/Object_I_O_1_2_Tutorial/object_i_o_1_2_tutorial.html


[Copied from FunctionalProgrammingLanguage...]

In Clean, you pass the world around, and compute new values of the world. Because Clean has UniqueTypes, the Clean compiler can guarantee that there is always only one live copy of the world around. Therefore, it can mutate the world in-place, rather than having to copy it entirely, which would be computationally costly, to say the least. ;-)

The HaskellLanguage doesn't have unique types, so it cannot take this approach. Therefore it uses monads (cf. MonadicProgramming).


Could please anyone who is/was developing real world applications with Clean supply some info (here or by e-mail) about the type of software he was writing, the interfaces to other systems he needed, and his experience with the Clean system? -- HelmutEnckRadana


See http://sourceforge.net/projects/funlib for an OpenSource project that uses Clean.


CategoryProgrammingLanguage CategoryFunctionalProgramming


EditText of this page (last edited August 7, 2008) or FindPage with title or text search