id: "clean" aliases: - "icl" - "clm" - "dcl" name: "Clean" info: year: 1987 desc: "General-purpose purely functional computer programming language" ext: - icl - dcl - abc web: wiki: "https://en.wikipedia.org/wiki/Clean_(programming_language)" home: "https://clean.cs.ru.nl/Clean" source: "https://gitlab.science.ru.nl/clean-compiler-and-rts/compiler" category: general mode: compiled platform: [] syntax: haskell typing: static paradigm: - declarative - functional usage: [] install: manual: | install -d "${pkg}/opt/clean" install -d "${pkg}/usr/local/bin" url="$(curl -fsSL https://clean.cs.ru.nl/Download_Clean | grep linux/clean | grep -F 64.tar.gz | grep -Eo "https://[^>]+\.tar\.gz")" wget "${url}" sudo mkdir /opt/clean sudo chown riju:riju /opt/clean tar -xf clean*_64.tar.gz -C /opt/clean --strip-components=1 pushd /opt/clean make popd mv /opt/clean/* "${pkg}/opt/clean/" sudo rmdir /opt/clean ln -s /opt/clean/bin/clm "${pkg}/usr/local/bin/" sleep 2 find "${pkg}/opt/clean" -name '*.o' -exec touch '{}' ';' main: "main.icl" template: | module main import StdEnv Start world #(console, world) = stdio world #console = fwrites "Hello, world!\n" console #(ok, world) = fclose console world = world compile: | clm main -o main run: | ./main