The Elm package

[Tags: bsd3, deprecated, library, program]

Deprecated in favor of elm-compiler

Elm aims to make client-side web-development more pleasant. It is a statically/strongly typed, functional reactive language to HTML, CSS, and JS. This package provides a compiler and server for Elm.

[Skip to ReadMe]


Versions0.1.0, 0.1.1,,,,,,,, 0.1.2,, 0.2.0,, 0.3.0, 0.3.5, 0.3.6,,, 0.4.0,,,,, 0.5.0,,, 0.6,,,, 0.7, 0.7.1,, 0.8,,,, 0.9,,, 0.10,,, 0.10.1, 0.11, 0.12, 0.12.1,,,, 0.12.2, 0.12.3, 0.13
Change logNone available
Dependenciesbase (>=4.2 && <5), blaze-html (==0.5.0.*), blaze-markup (==0.5.1.*), containers (>=0.3), deepseq, happstack-server (==7.0.2), HTTP (>=4000), mtl (>=2), parsec (>=3.1.1), transformers (>=0.2) [details]
CopyrightCopyright: (c) 2011-2012 Evan Czaplicki
AuthorEvan Czaplicki
CategoryCompiler, Language
Home page
Source repositoryhead: git clone git://
Executableselm-server, elm
UploadedWed May 23 04:08:15 UTC 2012 by EvanCzaplicki
Downloads16064 total (369 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees

Readme for Elm-


This is the Elm compiler and server, allowing you to develop Elm applications that run in any modern browser.

Installation Process

Download the Haskell Platform. This will give you access to the Haskell compiler (needed to build Elm) and Haskell's package distribution system (to make installation of Elm easier). Once installed (even if it already was), you must update your listing of Haskell packages with:

cabal update

This will ensure that the elm package is available. Then install Elm with:

cabal install elm

Assuming everything goes correctly (potential problems are discussed later), this will build two executables on your machine:

To 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).

That is almost everything. 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
echo main = lift asText Mouse.position > main.elm

The first two commands create a new directory and navigate into it. Then next command (wget) downloads the 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 and download it directly. The echo command places a simple program into main.elm. The final command starts the Elm server at localhost, allowing you to navigate to main.elm and see your first program in action.

Potential problems and their solutions:

Areas for further work:

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.

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!