---
key: pl/clean
kind: plang
name: "Clean"
url: https://plangs.page/clean
---

# Clean

> Functional programming language known for uniqueness typing and lazy evaluation.

General-purpose purely functional programming language designed for real-world applications. It is known for its uniqueness typing, dynamic typing, generic functions, and lazy evaluation. Developed since 1987 by the Software Technology Research Group of Radboud University Nijmegen, Clean shares many properties with Haskell, offering an efficient compilation to machine code with its unique type system.

## Facts

- Appeared: 1987
- Homepage: http://clean.cs.ru.nl/
- Languish ranking: #428

## Relationships

### Paradigms

- [Compiled](https://plangs.page/paradigm/compiled)
- [Functional](https://plangs.page/paradigm/functional)
- [General-Purpose](https://plangs.page/paradigm/general-purpose)
- [Lazy Eval](https://plangs.page/paradigm/lazy)

### Platforms

- [Cross-Platform](https://plangs.page/platform/cross)

### Type Systems

- [Algebraic Data Types](https://plangs.page/type-system/algebraic)
- [Dynamic](https://plangs.page/type-system/dynamic)
- [Static](https://plangs.page/type-system/static)
- [Strong](https://plangs.page/type-system/strong)
- [Uniqueness](https://plangs.page/type-system/uniqueness)

### Influenced By

- [Haskell](https://plangs.page/haskell)

### Influenced

- [Haskell](https://plangs.page/haskell)
- [Idris](https://plangs.page/idris)

### Written With

- [C](https://plangs.page/c)

### Licenses

- [BSD](https://plangs.page/license/bsd)

### Tags

- [Application](https://plangs.page/tag/app)
- [Compiler](https://plangs.page/tag/compiler)
- [Interpreter](https://plangs.page/tag/interpreters)
