riju/langs/miranda.yaml

60 lines
1.3 KiB
YAML

id: "miranda"
name: "Miranda"
info:
year: 1983
desc: "Pure, non-strict, polymorphic, higher order functional programming language designed by David Turner in 1983-6"
ext: m
web:
wiki: "https://en.wikipedia.org/wiki/Miranda_(programming_language)"
home: "https://www.cs.kent.ac.uk/people/staff/dat/miranda/"
source: "https://www.cs.kent.ac.uk/people/staff/dat/miranda/downloads/"
category: pure
mode:
- compiled
- interpreted
platform: []
syntax: haskell
typing: static
paradigm:
- declarative
- functional
usage: []
install:
apt:
- rlwrap
manual: |
install -d "${pkg}/usr/local/bin"
install -d "${pkg}/usr/local/lib"
install -d "${pkg}/usr/share/man/man1"
url="$(curl -fsSL https://www.cs.kent.ac.uk/people/staff/dat/miranda/downloads/ | grep 'click.php' | grep -Eo 'https?://[^"]+' | head -n1)"
wget "${url}" -O miranda.tgz
tar -xf miranda.tgz
pushd miranda
make cleanup
make CC="gcc -w -fcommon"
mv mira "${pkg}/usr/local/bin/"
mv miralib "${pkg}/usr/local/lib/"
mv mira.1 "${pkg}/usr/share/man/man1/"
popd
repl: |
rlwrap mira
main: "main.m"
template: |
main = [Stdout "Hello, world!"]
run: |
echo "[ Type 'main' to run code ]"
rlwrap mira main.m
helloInput: |
main
scope:
code: |
x = 123 * 234