compiler/README.md

53 lines
2.0 KiB
Markdown
Raw Normal View History

Learn about the Elm programming language at [elm-lang.org](http://elm-lang.org/).
2013-02-15 01:23:40 +04:00
2013-06-04 05:55:28 +04:00
## Install
2013-12-20 02:14:17 +04:00
**Arch Linux** — follow [these directions](https://github.com/evancz/Elm/wiki/Installing-Elm#arch-linux) and then
2013-12-20 02:08:39 +04:00
jump to the [My First Project](#my-first-project) section.
2013-12-20 02:14:17 +04:00
<br/>
**OS X 10.9** &mdash; follow
2013-12-20 02:08:39 +04:00
[these directions](http://justtesting.org/post/64947952690/the-glasgow-haskell-compiler-ghc-on-os-x-10-9)
2013-12-20 02:14:17 +04:00
before continuing with the platform agnostic directions below.
2013-12-20 02:04:03 +04:00
**Platform Agnostic** &mdash;
2013-12-20 02:14:17 +04:00
download the [Haskell Platform 2012.2.0.0 or later](http://hackage.haskell.org/platform/).
2013-12-20 02:09:49 +04:00
Once the Haskell Platform is installed:
2013-12-20 02:04:03 +04:00
2013-12-20 02:05:52 +04:00
cabal update
cabal install elm
cabal install elm-server
2012-11-03 08:08:07 +04:00
2013-06-04 06:03:54 +04:00
## Use
2012-11-03 08:08:07 +04:00
2013-06-04 05:55:28 +04:00
To use `elm` and `elm-server` you may need to add a new directory to your PATH.
2013-05-23 03:15:55 +04:00
Cabal should tell you where your executables are located upon
2013-12-20 02:04:03 +04:00
successful installation. It'll be something like `/home/evan/.cabal/bin`
which you should append to your PATH variable.
2013-05-23 03:15:55 +04:00
See this tutorial if you are new to changing your PATH in
[Unix/Linux](http://www.cyberciti.biz/faq/unix-linux-adding-path/).
2013-06-04 06:03:54 +04:00
## My First Project
2012-10-27 06:06:40 +04:00
2013-05-23 03:15:55 +04:00
Now we will create a simple Elm project.
2012-11-04 12:26:45 +04:00
The following commands will set-up a very basic project and start the Elm server.
2012-04-27 02:07:45 +04:00
2012-04-28 01:54:31 +04:00
mkdir helloElm
cd helloElm
2013-06-04 06:06:54 +04:00
printf "import Mouse\n\nmain = lift asText Mouse.position" > Main.elm
2012-10-03 10:03:14 +04:00
elm-server
2012-04-27 02:07:45 +04:00
2013-06-04 06:08:23 +04:00
The first two commands create a new directory and navigate into it. The `printf`
2013-05-23 03:15:55 +04:00
commands place a simple program into `Main.elm`. Do this manually if you do not
2013-06-04 06:08:23 +04:00
have `printf`. The final command starts the Elm server at [localhost:8000](http://localhost:8000/),
2013-05-23 03:15:55 +04:00
allowing you to navigate to `Main.elm` and see your first program in action.
2012-05-31 22:18:14 +04:00
2013-10-22 15:54:53 +04:00
#### Final Notes
2013-10-22 15:54:53 +04:00
The `elm` package provides support for compilation of Elm code directly in Haskell.
Check it out [on Hackage](http://hackage.haskell.org/package/Elm) if you are interested.
2013-05-23 03:15:55 +04:00
If you are stuck, email [the list](https://groups.google.com/forum/?fromgroups#!forum/elm-discuss)
or ask a question in the [#Elm IRC channel](http://webchat.freenode.net/?channels=elm).