Clean is a programming language created in 1987.
#231on PLDB | 36Years Old | 481Users |
9Books | 5Papers | 206Repos |
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...
module example
import StdInt
square :: Int -> Int
square n = n * n
Start :: Int
Start = square 3
module main
import StdEnv
Start world
#(console, world) = stdio world
#console = fwrites "Hello, world!\n" console
#(ok, world) = fclose console world
= world
module hello
Start :: {#Char}
Start = "Hello World"
// Hello World in Clean
module hello
Start :: String
Start = "Hello World!\n"
definition module GenMap
import StdGeneric
generic gMap a b :: .a -> .b
derive gMap c, UNIT, PAIR, EITHER, CONS, FIELD, OBJECT, {}, {!}
derive gMap [], (,), (,,), (,,,), (,,,,), (,,,,,), (,,,,,,), (,,,,,,,)
(^) infixr 8 :: Int Int -> Int
(^) x 0 = 1
(^) x n = x * x ^ (n-1)
case ccall class code code inline derive export foreign generic if in infix infixl infixr instance let of otherwise special stdcall where with
Feature | Supported | Token | Example |
---|---|---|---|
Conditionals | ✓ | ||
Classes | ✓ | ||
Strings | ✓ | " | "Hello world" |
Line Comments | ✓ | // | // A comment |
Comments | ✓ | ||
Semantic Indentation | X |
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 |