Merge the latest version of Speedometer 2.0 to browserbench.org against at r221119.
[WebKit-https.git] / Websites / browserbench.org / Speedometer2.0 / resources / todomvc / functional-prog-examples / elm / readme.md
1 # Elm TodoMVC Example
2
3 > A functional language for interactive applications
4
5 > _[Elm](http://elm-lang.org/)_
6
7
8 ## Learning Elm
9
10 The [Elm website](http://elm-lang.org/) is a great resource for getting
11 started.
12
13 Here are some links you may find helpful:
14
15 * [Try Elm](http://elm-lang.org/try)
16 * [Learn Elm](http://elm-lang.org/Learn.elm)
17 * [An Introduction to Elm](http://guide.elm-lang.org/)
18
19 Get help from other Elm users:
20
21 * [elm-discuss mailing list](https://groups.google.com/forum/?fromgroups#!forum/elm-discuss)
22 * [@elmlang on Twitter](https://twitter.com/elmlang)
23 * [@czaplic on Twitter](https://twitter.com/czaplic)
24
25 _If you have other helpful links to share, or find any of the links above no longer work, please [let us know](https://github.com/tastejs/todomvc/issues)._
26
27
28
29 ## Project Structure
30
31 All of the Elm code lives in `Todo.elm` and `Todo/Task.elm` and relies
32 on the [elm-html][] and [elm-navigation][] packages.
33
34 [elm-html]: http://package.elm-lang.org/packages/elm-lang/html/latest/
35 [elm-navigation]: http://package.elm-lang.org/packages/elm-lang/navigation/latest/
36
37 There also is a port handler set up in `index.html` to set the focus on
38 particular text fields when necessary.
39
40 ## Build Instructions
41
42 You need to install [elm](http://elm-lang.org/install)
43 on your machine first.
44
45 Run the following commands from the root of this project:
46
47 ```bash
48 elm-package install -y
49 elm-make Todo.elm --output build/elm.js
50 ```
51
52 Then open `index.html` in your browser!
53
54 ## Credit
55
56 This TodoMVC application was created by [@evancz](https://github.com/evancz), and imported into TasteJS by [@passy](https://twitter.com/passy). The Speedometer version is by Addy Osmani.