A haskell implementation of todoMVC
Haskell is a strongly-typed, lazily-evaluated, functional programming language.
with automation
This example demonstrates an idiomatic haskell approach to the TodoMVC problem domain involving:
Model
representing the problem domain,
consisting ofView
s that consume model outputs, by using vanilla
javascript effects.Controller
s that produce model inputs, by
listening for Dom events using vanilla javascript.The recipe below handles the bits and bobs you need to do every re-compile. This includes a compression step via closure.
stack build --exec "pandoc -f markdown -i other/index.md -t html -o index.html --filter pandoc-include" --exec "java -jar $(stack path --local-bin)/closure-compiler-v20170124.jar --js_output_file=other/mvc-todo-auto.js $(stack path --local-install-root)/bin/mvc-todo-auto.jsexe/all.js" --exec "java -jar $(stack path --local-bin)/closure-compiler-v20170124.jar --js_output_file=other/mvc-todo.js $(stack path --local-install-root)/bin/mvc-todo.jsexe/all.js"