Welcome to the Clean Wiki! the online home of Clean.
Clean is a general purpose, state-of-the-art, pure and lazy functional programming language designed for making real-world applications. Some of its most notable language features are uniqueness typing, dynamic typing, and generic functions. Have a look at a quick impression of Clean.
The Clean System is available for the Windows, Linux, and Mac operating systems.
We are migrating towards continuous integration and more frequent releases. Both nightly developments builds and the traditionally versioned Clean 3.1 are publicly available from our download page.
The iTask System
Much of the current Clean related research is focused around the iTask system. This is a toolkit for building web-based workflow management systems using a powerful workflow language embedded in Clean.
Read more about the iTask system...
Cloogle is the official Clean search engine that indexes all standard libraries, external libraries, compiler errors, ABC instructions, builtins and syntax elements.
The mTask System
The mTask system (mTasks) is a framework for programming complete Internet of Things (IoT) systems from a single source. The framework is powered by a multi-backend tagless embedded DSL embedded in the pure functional programming language Clean. With the bytecode generation backend and the ITasks integration, mTask tasks can be embedded in iTasks programs and shared data sources can be synchronized. The client runtime system, written in portable C, runs on embedded devices such as Arduino/ESP8266/ESP32 boards but also on full fledged Linux, Windows and MacOS machines.
Learn more about the Clean language by downloading a distribution, the libraries, or reading the documentation, related publications, or FAQ.
All development is happening in on gitlab nowadays. See the clean-and-itasks group for everything iTasks and the compiler-and-rts group for everything core.
Find out what is going on in the Clean community by checking out the projects that use Clean, checkout the IRC channel (#email@example.com), or joining our mailing lists.
Read more about the latest developments, upcoming and past events, or how to contact us.