No description
Find a file
2013-07-29 11:52:34 +02:00
compiler Remove SourceSyntax.Rename, which was unused 2013-07-29 11:52:34 +02:00
libraries Get JavaScript.Experimental working 2013-07-27 13:11:18 +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 Update changelog with latest parser improvements. 2013-07-16 14:58:02 +02:00
.gitignore Update .gitignore to ignore files in ElmFiles/ directories 2013-07-26 19:09:56 +02:00
changelog.txt Add support for let (==>) = Lambda in … 2013-07-23 17:00:05 +02:00
Contributor Agreement.docx Add the contributor agreement. 2013-06-03 15:09:44 -07:00
Elm.cabal Create a serializable interface for a module's type information 2013-07-21 06:08:08 +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 Generate and use interfaces.data so standard library types are available 2013-07-28 02:24:17 +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.