Skip to content
A Javascript UI library inspired by Elm
JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples tabvc going again Jan 5, 2016
src tabvc going again Jan 5, 2016
.gitignore first Oct 26, 2015 cleanup Jan 26, 2016
entry.js tabvc going again Jan 5, 2016
index.html first Oct 26, 2015
server.js express dev server Oct 29, 2015
webpack.config.js lots og refactoring and new animation tutorials Dec 30, 2015


This is functional programming pattern inspired by the Elm Architecture for building user interfaces.

To get it running:

git clone
cd elmish
npm install
ln -s .. node_modules/elmish
node server.js
open http://localhost:3000/

Check out entry.js to select the example you want to run and work your way through the tutorial.


  • Abstraction
    • It should be trivial to reuse UI components without rewriting them.
    • You should be able to create N instances of your app side-by-side without iframes.
    • Virtual DOM and data fetching requests ought to composable.
  • Pure, Stateless, and Declarative
    • The UI should be a pure function of state.
    • There should be no side-effects tied to the render cycle.
    • Declare what your want, not how to do it.
    • No global variables.
  • Serializable States and Actions
    • Trivial event tracking
    • Send states and actions to the server on any runtime exceptions.
    • Record user sessions and run predictive testing.
    • Time-travelling debugger.
    • Record and save flows to different corners of the app.
    • Generative testing by using the app.
You can’t perform that action at this time.