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