@@ -16,9 +16,9 @@ This will ensure that the elm package is available. Then install Elm with:
17Assuming everything goes correctly (potential problems are discussed later), this will build two executables on your machine:
17Assuming everything goes correctly (potential problems are discussed later), this will build two executables on your machine:
19−* elm :: A standard compiler that takes .elm files and produces .html files. You can then use these HTML files with your favorite web-framework.
19+* `elm` is a standard compiler that takes `.elm` files and produces `.html` files. You can then use these HTML files with your favorite web-framework.
21−* elm-server :: This is both a compiler and server, allowing you to develop without designing and setting up a server yourself. Running the "elm-server" program starts a server in the current directory. It will compile and serve any .elm files in the current directory and its sub-directories. This is how I prefer to develop Elm programs.
21+* `elm-server` is both a compiler and server, allowing you to develop without designing and setting up a server yourself. Running `elm-server` starts a server in the current directory. It will compile and serve any `.elm` files in the current directory and its sub-directories. This is how I prefer to develop Elm programs.
23To use these executables you need to add a new directory to your PATH. For me, the executables were placed in /home/evan/.cabal/bin which I appended to the end of my PATH variable in my .bashrc file. Cabal should tell you where your executables are located, so you can make a similar addition (see this tutorial if you are new to changing your PATH in [Unix/Linux](http://www.cyberciti.biz/faq/unix-linux-adding-path/)).
23To use these executables you need to add a new directory to your PATH. For me, the executables were placed in /home/evan/.cabal/bin which I appended to the end of my PATH variable in my .bashrc file. Cabal should tell you where your executables are located, so you can make a similar addition (see this tutorial if you are new to changing your PATH in [Unix/Linux](http://www.cyberciti.biz/faq/unix-linux-adding-path/)).
@@ -30,20 +30,21 @@ That is almost everything. Now, we will create a simple Elm project. The followi
30 echo main = lift asText Mouse.position > main.elm
30 echo main = lift asText Mouse.position > main.elm
31 elm-server
31 elm-server
33−The first two commands create a new directory and navigate into it. Then next command (wget) downloads the [elm-mini.js](https://raw.github.com/evancz/Elm/master/elm-mini.js) file which is the Elm runtime system and must be in the root directory of your Elm project. If you do not have wget, just follow [this link](https://raw.github.com/evancz/Elm/master/elm-mini.js) and download it directly. The 'echo' command places a simple program into 'main.elm'. The final command starts the Elm server at [localhost](http://localhost:8000/), allowing you to navigate to 'main.elm' and see your first program in action.
33+The first two commands create a new directory and navigate into it. Then next command (`wget`) downloads the [elm-mini.js](https://raw.github.com/evancz/Elm/master/elm-mini.js) file which is the Elm runtime system and must be in the root directory of your Elm project. If you do not have wget, just follow [this link](https://raw.github.com/evancz/Elm/master/elm-mini.js) and download it directly. The `echo` command places a simple program into `main.elm`. The final command starts the Elm server at [localhost](http://localhost:8000/), allowing you to navigate to `main.elm` and see your first program in action.
35−Areas for further work:
36−-----------------------
38−Error messages need work in general. Syntax and Parsing errors are reported, but the messages are not very helpful. Type errors currently go unreported. I hope to fix this as soon as possible.
40−If you are interested in contributing, please contact me at info (at) elm-lang (dot) org.
43Potential problems and their solutions:
36Potential problems and their solutions:
44---------------------------------------
37---------------------------------------
46−* When installing on Debian, "blaze-html-0.4.3.2" fails to compile. You must install "blaze-html-0.4.3.1" instead.
39+* When installing on Debian, `blaze-html-0.4.3.2` fails to compile. You must install `blaze-html-0.4.3.1` instead.
47−* Elm does not appear to work with the latest versions of "containers" (i.e. 0.4.2.*). I know it works with earlier versions of containers, so to avoid this problem, you can try: cabal install elm --constrain="containers==0.4.1.0" --force-reinstall
40+* Elm does not appear to work with the latest versions of `containers` (i.e. 0.4.2.*). I know it works with earlier versions of containers, so to avoid this problem, you can try: `cabal install elm --constrain="containers==0.4.1.0" --force-reinstall`
48* On Windows, HAppStack has trouble installing because of issues with the "network" package. I struggled with this problem on Windows 7 until I found the suggestion at the bottom of [this page](http://hackage.haskell.org/trac/ghc/ticket/5159).
41* On Windows, HAppStack has trouble installing because of issues with the "network" package. I struggled with this problem on Windows 7 until I found the suggestion at the bottom of [this page](http://hackage.haskell.org/trac/ghc/ticket/5159).
49* Likely more to come...
42* Likely more to come...
45+Areas for further work:
46+-----------------------
48+Error messages need work in general. Syntax and Parsing errors are reported, but the messages are not very helpful. Type errors currently go unreported. I hope to fix this as soon as possible.
50+If you are interested in making a large contribution, please contact me at `info (at) elm-lang (dot) org` so that we do not duplicate any work!