A community driven list of useful Elm tutorials, libraries and software.
Inspired by the awesome list thing. Feel free to improve this list.
Some good apps written in Elm.
- Official list - Examples from basic to big-project in official website.
- Builtwithelm - Web site built with elm with list of projects and apps built with Elm.
- Tetris — A Tetris game for the web browser written in Elm.
- Vessel - A "tunnel" game written in Elm!
- Sliding Puzzle - Configurable sliding puzzle game written in Elm.
- TodoMVC - Proper implementation of the TodoMVC app.
- TodoMVC/Firebase - Fork of TodoMVC demonstrating start-app, The Elm Architecture and Firebase as backend.
- <elm-ement> – Minimal example of a custom element.
- Elm Playground - Tiny Elm projects implemented for the sake of learning by example.
Learn what this awesome thing is.
- Official tutorial — General information and in-depth guide with examples.
- Elm by example - Elm tutorial via set of practice chapters.
- Elm’s Time Traveling Debugger - Debugger that lets you travel backwards and forwards in time.
- Architecture Tutorial - How to create modular Elm code that scales nicely with your app.
- Start app - Make an app, start it up.
- Elm: Building Reactive Web Apps - Learn how to build reactive web apps using Elm.
- Elm: Signals, Mailboxes & Ports - Create more reactive Elm apps by mastering signals.
- Learn you an Elm - Elm tutorial with exhaustive examples and descriptions.
- Writing native - Learn how to create native JavaScript modules for Elm.
- Elm: Functional frontend development - Series of articles about fundamentals and advanced topics.
- Elm Tutorial - A tutorial on developing single page web applications with Elm.
- Elm cheat sheet - Syntax and features overview.
- Learn Elm in Y Minutes - Syntax and features overview. The Elm page on learnxinyminutes.com
- A Concise Introduction to Elm - High overview of language features.
- Elm Maybe - Dealing with null/Nothing - Working with the Maybe type, with nicely commented code examples.
Read the essentials. Check the official Elm blog: elm-lang.org/blog
- Architecture in Elm — Ideas and guidelines for architecting larger applications in Elm to be modular and extensible.
- Blazing Fast HTML - Virtual DOM in Elm.
- FP with games in Elm - Switching from imperative to functional programming with games in Elm.
- Learning FP the hard way - Experiences on the Elm language.
- Introduction to Rx - The introduction to Reactive Programming you've been missing.
- Elm for Web Developers - A collection of notes for web developers looking into moving to Elm.
- Introducing Elm to JS Web Apps - An article explaining how to get started with Elm by integrating it with your exisiting Javascript framework
- How Elm Made Our Work Better - How a team built a business-critical web app for a customer using Elm.
- Composing Features and Behaviours in the Elm Architecture - An article describing how to organize code that follows the Elm architecture into independent features, how to communicate between features, and how to group some of these features together to assemble larger features.
- Getting Started with Elm - Series of Elm education tutorials.
Watch great talks about Elm
- Evan Czaplicki: Let's be mainstream! User focused design in Elm - A talk from the father of Elm about the philosophy behind the language.
- Richard Feldman: Make the Back-End Team Jealous: Elm in Production - A talk about Elm and initial steps to use it in production.
- Richard Feldman: Effects as Data - A talk about how Elm manages side effects.
- Jamison Dance: Rethinking All Practices - Building Applications in Elm - A talk given at React.js Conf 2016 about what Elm has to teach the JavaScript world and why JS devs should consider trying it.
- Richard Feldman: Introduction to Elm - A talk that gives a broad, high-level introduction to Elm.
Listen to podcasts about Elm
- Functional Geekery 33 - Richard Feldman and Tessa Kelly.
- The Changelog 191 - Elm and Functional Programming with Richard Feldman.
- Software Engineering Daily - Elm with Richard Feldman and Srinivas Rao.
- JavaScript Jabber 175 - Elm with Evan Czaplicki and Richard Feldman.
- Ruby Rogues 212 - Elm with Richard Feldman and Evan Czaplicki.
- The Web Platform Podcast 15 - Functional Programming with Elm, ClojureScript, Om, and React.
- The Web Platform Podcast 76 - The Elm Programming Language.
- Mostly Erlang Podcast 32 - Elm with Evan Czaplicki.
Useful helpers to build apps.
- elm-core - Elm Core Libraries.
- elm-html - Use HTML in Elm, based on the idea of a "virtual DOM".
- elm-test - A unit testing framework for Elm.
- elm-router - Easy routing in Elm.
- elm-http - Make HTTP requests in Elm.
- elm-http-extra - Build and handle JSON requests more naturally than with low-level elm-http.
- elm-console - Elm library to read and write to the console in Node.
- Lazy - Lazy Evaluation in Elm.
- elm-ui - UI Library in Elm.
- elmfire - Use Firebase as backend. For higher level API: elmfire-extra.
Tools around Elm platform.
- elm-compiler - Compiler for the Elm programming language.
- elm-make - A build tool for Elm projects.
- elm-reactor - Interactive development tool that makes it easy to develop and debug Elm programs.
- elm-repl - A REPL for Elm.
- elm-package - CLI to share Elm libraries.
- elm-init - Interactive setup for new Elm projects.
- elm-format - Automatic Elm code formatter adhering to Elm Style Guide.
- grunt-elm - Grunt plugin that compiles Elm files to JavaScript.
- elm-webpack-loader - Webpack loader for the Elm programming language.
- servelm - A project enabling server-side use of Elm.
##Editor plugins
Tools to support Elm in code editors.
- atom-linter-elm-make - Elm code linter for the Atom editor.
- atom-elm-snippets - Elm snippets for Atom.
- atom-language-elm - Syntax highlighting and autocompletion for the Atom editor.
- emacs-elm-mode - Syntax highlighting, Elm REPL, Elm make and Elm format integration for the Emacs editor.
- elm-light-table - Syntax highlighting, REPL, autocompletion, package management and much more for Light Table.
- Elm Language Support - Syntax highlighting, REPL, autocompletion, and more for Sublime Text 2 and 3.
- Elm-vim - Elm mode for vim.
- elm-plugin - Elm plugin for IntelliJ IDEA.
- Elm Visual Studio Code Support - Syntax highlighting, Snippets, Function information, REPL, Reactor support (Webserver/Debugger) - Starting/Stopping
Place to share Elm libraries.
- elm-package - Command line tool to share Elm libraries.
Good starting point for a new Elm project.
- elm-webpack-starter - A simple Webpack setup for writing Elm apps.
Everything that you need to see.
- Try Elm - Write and compile elm code online!
- Debug Elm - Debug elm code online.
- Haskell to Elm - Collection of examples on places where Elm is different to Haskell, targetted at Elm beginners coming from Haskell backgrounds.
- elmflux - Visualization of Elm Signals.
Where to find help.
- Mailing list - Google discussion group.
- SHARE-ELM - Share your code snippets, authorize with github gist.
- Reddit - Elm board on reddit.
- IRC - Ask questions on elm freenode.
- Slack - Elm slack community.
Follow for fresh updates for free. Use #elmlang or #elm hashtag.
Official Elm | Evan Czaplicki | Richard Feldman |
Discover other amazingly awesome lists.
Awesome Elm is just a part of awesome thing, get more here:
To the extent possible under law, @isRuslan has waived all copyright and related or neighboring rights to this work.