diff --git a/backend/src/langs.ts b/backend/src/langs.ts
index b64d98f..3b67e26 100644
--- a/backend/src/langs.ts
+++ b/backend/src/langs.ts
@@ -1422,6 +1422,19 @@ PLEASE GIVE UP
`,
timeout: 15,
},
+ koka: {
+ aliases: ["kk"],
+ name: "Koka",
+ repl: "NODE_PATH=/opt/koka/node_modules rlwrap koka -i/opt/koka/lib",
+ main: "main.kk",
+ run:
+ "NODE_PATH=/opt/koka/node_modules rlwrap koka -i/opt/koka/lib main.kk; NODE_PATH=/opt/koka/node_modules rlwrap koka -i/opt/koka/lib",
+ template: `public fun main() :
()
+{
+ println("Hello, world!")
+}
+`,
+ },
kotlin: {
aliases: ["kts", "kotlinc"],
name: "Kotlin",
diff --git a/scripts/docker-install-phase3b.bash b/scripts/docker-install-phase3b.bash
index 123e5ec..6413d3d 100755
--- a/scripts/docker-install-phase3b.bash
+++ b/scripts/docker-install-phase3b.bash
@@ -64,6 +64,9 @@ default-jdk
# Julia
julia
+# Koka
+rlwrap
+
# Ksh
ksh
diff --git a/scripts/docker-install-phase6.bash b/scripts/docker-install-phase6.bash
index 318d7f0..30b4ec4 100755
--- a/scripts/docker-install-phase6.bash
+++ b/scripts/docker-install-phase6.bash
@@ -65,6 +65,16 @@ mv src-kalyn/Stdlib src-kalyn/Stdlib.kalyn /opt/kalyn/
popd >/dev/null
rm -rf kalyn
+# Koka
+git clone https://github.com/koka-lang/koka.git /opt/koka
+pushd /opt/koka >/dev/null
+npm install
+npm install jake
+npx jake compiler
+popd >/dev/null
+ln -s /opt/koka/out/debug/koka-* /usr/local/bin/koka
+rm -rf koka
+
# LOLCODE
git clone https://github.com/justinmeza/lci.git
pushd lci >/dev/null