Clean é uma linguagem de programação declarativa e de uso geral desenvolvida pelo Prof. Henri Bal e colegas da CWI, Amsterdão. Baseia-se na linguagem de programação funcional Haskell e na linguagem de programação lógica Prolog.
Clean foi concebido com três objectivos principais em mente:
1. Ser uma linguagem muito concisa.
2. Ter uma semântica simples e consistente.
3. Para ser fácil de aprender.
Além disso, Clean é uma linguagem puramente funcional, o que significa que todos os cálculos são feitos por meio de chamadas de função. Isto torna muito fácil a paralelização de programas escritos em Clean.
A sintaxe do Clean é inspirada por Haskell, mas é muito mais simples. Por exemplo, não há declarações de tipo no Clean. Isto torna os programas mais curtos e mais fáceis de ler.
Clean é uma linguagem de uso geral, mas é especialmente adequada para escrever interfaces gráficas de utilizador, aplicações de bases de dados, e compiladores.