riju/langs/clean.yaml

61 lines
1.3 KiB
YAML

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}"
tar -xf clean*_64.tar.gz -C "${pkg}/opt/clean" --strip-components=1
pushd "${pkg}/opt/clean"
make
popd
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