Elm: fix makefile, added to readme and enable travis
authorJos van Bakel <josvanbakel@gmail.com>
Sat, 22 Jul 2017 20:18:35 +0000 (22:18 +0200)
committerJos van Bakel <josvanbakel@gmail.com>
Sat, 22 Jul 2017 20:18:35 +0000 (22:18 +0200)
.travis.yml
Makefile
README.md
elm/Makefile

index 711212a..c9aa9b5 100644 (file)
@@ -21,6 +21,7 @@ matrix:
     - {env: IMPL=dart,      services: [docker]}
     - {env: IMPL=elisp,     services: [docker]}
     - {env: IMPL=elixir,    services: [docker]}
+    - {env: IMPL=elm,       services: [docker]}
     - {env: IMPL=erlang NO_PERF=1, services: [docker]} # perf runs out of memory
     - {env: IMPL=es6,       services: [docker]}
     - {env: IMPL=factor,    services: [docker]}
index 7473c11..cd68729 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -216,7 +216,7 @@ vhdl_STEP_TO_PROG =    vhdl/$($(1))
 vimscript_STEP_TO_PROG = vimscript/$($(1)).vim
 guile_STEP_TO_PROG =   guile/$($(1)).scm
 livescript_STEP_TO_PROG = livescript/$($(1)).js
-elm_STEP_TO_PROG =     elm/$($(1)).elm
+elm_STEP_TO_PROG =     elm/$($(1)).js
 
 
 # Needed some argument munging
index 97aa111..94e60a0 100644 (file)
--- a/README.md
+++ b/README.md
@@ -23,6 +23,7 @@ Mal is implemented in 65 languages:
 * D
 * Dart
 * Elixir
+* Elm
 * Emacs Lisp
 * Erlang
 * ES6 (ECMAScript 6 / ECMAScript 2015)
@@ -345,6 +346,18 @@ mix stepX_YYY
 iex -S mix stepX_YYY
 ```
 
+### Elm
+
+*The Elm implementation was created by [Jos van Bakel](https://github.com/c0deaddict)*
+
+The Elm implementation of mal has been tested with Elm 0.18.0
+
+```
+cd elm
+make stepX_YYY.js
+STEP=stepX_YYY ./run
+```
+
 ### Erlang
 
 *The Erlang implementation was created by [Nathan Fiedler (nlfiedler)](https://github.com/nlfiedler)*
index 99fcffd..b20685f 100644 (file)
@@ -4,20 +4,19 @@ SOURCES = step0_repl.elm step1_read_print.elm step2_eval.elm \
 
 SOURCES_LISP = Env.elm Core.elm Eval.elm stepA_mal.elm
 
-
 BINS = $(SOURCES:%.elm=%.js)
 
 ELM = node_modules/.bin/elm
 
-all: node_modules $(BINS)
+all: node_modules elm_packages $(BINS)
 
 node_modules:
        npm install
 
 elm_packages:
-       $(ELM) package install
+       $(ELM) package install -y
 
-%.js: %.elm node_modules
+%.js: %.elm node_modules elm_packages
        $(ELM) make $(@:%.js=%.elm) --output $@
 
 STEP0_SOURCES = IO.elm