The programming language Clean is a general purpose, state-of-the-art, pure and lazy functional programming language designed for making real-world applications.

Clean is the only functional language in the world which offers uniqueness typing. This type system makes it possible in a pure functional language to incorporate destructive updates of arbitrary data structures (including arrays) and to make direct interfaces to the outside imperative world. The type system makes it possible to develop efficient applications.