From 7791c1380ddc4fca9f97bfbe093c50668936ad69 Mon Sep 17 00:00:00 2001 From: Radon Rosborough Date: Sun, 18 Jul 2021 04:58:39 +0000 Subject: [PATCH] New language: Miranda --- langs/miranda.yaml | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 langs/miranda.yaml diff --git a/langs/miranda.yaml b/langs/miranda.yaml new file mode 100644 index 0000000..ea8e892 --- /dev/null +++ b/langs/miranda.yaml @@ -0,0 +1,59 @@ +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