61 lines
1.3 KiB
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
|