diff --git a/backend/src/langs.ts b/backend/src/langs.ts index 2a95179..74ced3b 100644 --- a/backend/src/langs.ts +++ b/backend/src/langs.ts @@ -3247,6 +3247,17 @@ Ophelia: }, template: `message("Hello, world!"); ` + }, + slick: { + name: "Slick", + repl: "slick", + input: `DELAY: 1 +123 * 234`, + main: "main.sl", + run: "slick main.sl; slick", + template: `def main: + print "Hello, world!" +`, }, smalltalk: { aliases: ["gst", "st"], diff --git a/scripts/docker-install-phase5.bash b/scripts/docker-install-phase5.bash index 95eecba..a16d73d 100755 --- a/scripts/docker-install-phase5.bash +++ b/scripts/docker-install-phase5.bash @@ -109,6 +109,10 @@ npm install -g sass # Shakespeare pip3 install shakespearelang +# Slick +opam install -y dune +ln -s /opt/opam/default/bin/dune /usr/local/bin/dune + # TeX luarocks install digestif diff --git a/scripts/docker-install-phase6.bash b/scripts/docker-install-phase6.bash index f017b03..9ba5f81 100755 --- a/scripts/docker-install-phase6.bash +++ b/scripts/docker-install-phase6.bash @@ -5,6 +5,9 @@ set -o pipefail set -x pushd /tmp >/dev/null +export OPAMROOT=/opt/opam +export OPAMROOTISOK=1 + # Aheui git clone https://github.com/aheui/caheui.git pushd caheui >/dev/null @@ -160,6 +163,17 @@ mv public/qlb/*.js /opt/qalb/ popd >/dev/null rm -rf qalb +# Slick +git clone https://github.com/kwshi/slick.git +pushd slick >/dev/null +opam switch create . +opam install --switch . $(dune external-lib-deps src --display=quiet | grep -F - | sed 's/- //; s/\..*//') -y +opam install --switch . menhir -y +opam exec --switch . dune build +mv _build/default/src/exe/main.exe /usr/local/bin/slick +popd >/dev/null +rm -rf slick + # Snobol file="$(curl -sSL ftp://ftp.snobol4.org/snobol/ | grep -Eo 'snobol4-.*\.tar\.gz' | sort -rV | head -n1)" wget -nv "ftp://ftp.snobol4.org/snobol/${file}"