No description
Find a file
2013-07-15 01:06:00 +02:00
compiler Add back in checks for duplicate and out-of-order definitions. 2013-07-15 01:06:00 +02:00
libraries Finish switching over to '_Tuple' format for tuples. 2013-07-15 01:05:14 +02:00
runtime Finish switching over to '_Tuple' format for tuples. 2013-07-15 01:05:14 +02:00
server [elm-server] add --port=... command line option. 2013-06-04 11:41:00 +02:00
tests Switch the internal data constructor name for tuples. Before tuple 2013-07-14 19:52:50 +02:00
.gitignore Changed type signature of JSON.fromString; added multiplayer mario example 2013-02-02 19:37:05 -05:00
changelog.txt Add new syntax to the changelog 2013-07-14 19:41:09 +02:00
Contributor Agreement.docx Add the contributor agreement. 2013-06-03 15:09:44 -07:00
Elm.cabal Begin adding testing framework to .cabal file. 2013-07-14 19:51:52 +02:00
LICENSE Move the compiler down a directory, mostly. 2013-03-16 12:04:05 -07:00
README.md Update README.md 2013-06-03 20:08:23 -06:00
Setup.hs Fix some style weirdness in Setup.hs 2013-06-24 06:14:08 +02:00

Learn about the Elm programming language at elm-lang.org.

Install

On Mac OSX

Use the installer and you are done. Let us know on the list if you have any trouble.

On any platform

Download the Haskell Platform 2012.2.0.0. Elm definitely works with GHC 7.4, so newer versions of the Haskell Platform may work too. Once the Haskell Platform is installed:

cabal update
cabal install elm
cabal install elm-server

Use

To use elm and elm-server you may need to add a new directory to your PATH.

Cabal should tell you where your executables are located upon successful installation.

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.

See this tutorial if you are new to changing your PATH in Unix/Linux.

My First Project

Now we will create a simple Elm project. The following commands will set-up a very basic project and start the Elm server.

mkdir helloElm
cd helloElm
printf "import Mouse\n\nmain = lift asText Mouse.position" > Main.elm
elm-server

The first two commands create a new directory and navigate into it. The printf commands place a simple program into Main.elm. Do this manually if you do not have printf. The final command starts the Elm server at localhost:8000, allowing you to navigate to Main.elm and see your first program in action.

Wrap up

The elm package provides support for compilation of Elm code directly in Haskell and QuasiQuoting. Check it out on Hackage if you are interested.

If you are stuck, email the list or ask a question in the #Elm IRC channel.