It's about time you started learning some Elm ! This workshop will (hopefully) get you to a stage where you will be able to make a Web Application using Elm on your own (*).
To make the most of the limited time we have for the workshop, there are few things that I need you to set up prior to the workshop.
(*) This workshop is not a complete tutorial on the Elm language. It's highly recommended to check out the official Elm Guide to get a better understanding of how Elm works in general !
- Lesson 1 - Getting started
- Lesson 2 - A quick Elm 1 on 1
- Lesson 3 - Working with Elm Html
- Lesson 4 - Implementing Randomization
- Lesson 5 - Retrieving data from a server
- Lesson 6 - Introducing Navigation
- Lesson 7 - Talking to JavaScript
Please install Elm and set up your editor before the workshop ! If you have any problems, get in touch and we'll work it out.
If for some weird reason you haven't got node/npm on your machine, you need to get that installed for some parts of the workshop. If you are on Linux, you'll deffo need it regardless.
- Recommended: install via a version manager like nvm
- For OS X and Linux install nvm
nvm install --lts
- For Windows install nvm-windows
- 64-bit:
nvm install 6.10.0 64
- 32-bit:
nvm install 6.10.0 32
- 64-bit:
- For OS X and Linux install nvm
- Or download from nodejs.org
- Mac installer
- Windows installer
- Whatever else:
npm install -g elm
You don't have to install this, but you might as well get used to it from the get go. It ensures that your code style follows the community guidelines from the get go. You'll probably have issues with the amount of whitespace it introduces, but once you get used to it you'll really start to appreciate it. No more formatting discussions, and you can spend the time writing awesome Elm code instead.
or you should be able to use npm -g install elm-format
Most popular editors have some level of Elm support. This workshop is not a good place to start learning a new editor completely from scratch, if in doubt choose an editor you are comfortable with !
Atom has some of the most advanced features for saving you from typing. In particular elmjutsu has some really nifty features. This seems to be the most popular editor in the Elm community at the moment.
If you install elmjutsu, you should turn off the autocompleter in linter-elm-make (using the package manager in Atom) and use the autocompleter that comes with elmjutsu.
Has a ton of features, many of which you don't need for this workshop. But the repl integration alone might be worth considering it as a "second" editor. Oh and I'll be showing things using it. But yeah it's a niche thing so if you've never used it before ... I'm happy to help anyone interested getting in configured (but please contact me before the workshop so we get you sorted well in advance).
Check out the guide if you are interested in trying it out.
For the remaining editors you'll need to install elm-oracle to get autocompletions.
npm -g install elm-oracle
There's an elm-mode !
A good choice if you're undecided and just needs something that is simple to get started with and that is great at editing text.
- Via Package Control
- Elm Language Support
- Highlight Build Errors
- vscode-elm
ext install elm
Vim* (with a package manager like vim-plug or Vundle)
- Valloric/YouCompleteMe
- General Vim autocompletion.
- w0rp/ale
- Recommended: General Vim linting and typechecking.
- NOTE: Requires NeoVim or Vim 8.
- vim-syntastic/syntastic
- General Vim linting and typechecking.
- NOTE: Use if you're not using NeoVim or Vim 7.
- ElmCast/elm-vim
- Syntax highlighting, indentation, autocompletion, autoformatting.
- Requires previous Vim plugins.
Check out the following elm-plugin. (To get elm-format working you'll need to follow these instructions https://github.com/avh4/elm-format/blob/master/README.md#jetbrains-installation)