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.
- <elm-ement> – Minimal example of a custom element.
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
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.
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.
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.
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-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
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.