PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

Clean

Clean

Clean is a pl created in 1987.

#232on PLDB 35Years Old 481Users
9Books 5Papers 206Repos

Try now: Riju · TIO

Clean is a general-purpose purely functional computer programming language. For much of the language's active development history it was called Concurrent Clean, but this was dropped at some point.. Read more on Wikipedia...


Example from Compiler Explorer:
module example import StdInt square :: Int -> Int square n = n * n Start :: Int Start = square 3
Example from Riju:
module main import StdEnv Start world #(console, world) = stdio world #console = fwrites "Hello, world!\n" console #(ok, world) = fclose console world = world
Example from hello-world:
module hello Start :: {#Char} Start = "Hello World"
Example from the Hello World Collection:
// Hello World in Clean module hello Start :: String Start = "Hello World!\n"
Example from Linguist:
definition module GenMap import StdGeneric generic gMap a b :: .a -> .b derive gMap c, UNIT, PAIR, EITHER, CONS, FIELD, OBJECT, {}, {!} derive gMap [], (,), (,,), (,,,), (,,,,), (,,,,,), (,,,,,,), (,,,,,,,)
Example from Wikipedia:
(^) infixr 8 :: Int Int -> Int (^) x 0 = 1 (^) x n = x * x ^ (n-1)

Keywords in Clean

case ccall class code code inline derive export foreign generic if in infix infixl infixr instance let of otherwise special stdcall where with

Language features

Feature Supported Example Token
Conditionals
Classes
Strings
"Hello world"
"
Line Comments
// A comment
//
Comments
Semantic Indentation ϴ

Books about Clean from ISBNdb

title authors year publisher
The Clean Coder: A Code of Conduct for Professional Programmers Martin, Robert 2011 Pearson
Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code Sweigart, Al 2020 No Starch Press
Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series) C., Martin Robert 2017 Pearson
Reactive Programming with Swift 4: Build asynchronous reactive applications with easy-to-maintain and clean code using RxSwift and Xcode 9 Singh, Navdeep 2018 Packt Publishing
Clean Code in Python: Refactor your legacy code base Anaya, Mariano 2018 Packt Publishing
Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code Sweigart, Al 2020 No Starch Press
Clean Agile: Back to Basics (Robert C. Martin Series) C., Martin Robert 2019 Pearson
Clean Code in Python: Develop maintainable and efficient code, 2nd Edition Anaya, Mariano 2021 Packt Publishing
Clean Craftsmanship: Disciplines, Standards, and Ethics (Robert C. Martin Series) Martin, Robert C. 2021 Addison-Wesley Professional

Publications about Clean from Semantic Scholar

title authors year citations influentialCitations
The ins and outs of Clean I/O P. Achten and M. J. Plasmeijer 1995 90 8
Interactive Functional Objects in Clean P. Achten and M. J. Plasmeijer 1997 44 2
Clean Translation of an Imperative Reversible Programming Language Holger Bock Axelsen 2011 31 2
Luandri: A Clean Lua Interface to the Indri Search Engine Bhaskar Mitra and Fernando Diaz and Nick Craswell 2017 5 0
Exchanging sources between clean and Haskell: a double-edged front end for the clean compiler John H. G. van Groningen and T. V. Noort and P. Achten and P. Koopman and M. J. Plasmeijer 2010 4 0
lolcode.html · clean.html · algol-60.html

View source

PLDB - Build the next great programming language · v2022 · Day 32 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com