Official tutorial
General information and in-depth guide with examples.
A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. :rocket:
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
General information and in-depth guide with examples.
In-depth book for Elm beginners, from Manning Publications.
How to create modular Elm code that scales nicely with your app.
Collection of Elm exercises.
Elm tutorial with exhaustive examples and descriptions.
A gentle introduction to the Elm programming language.
A collection of common patterns in Elm.
Practice exercises for learning Elm.
Discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
Syntax and features overview. The Elm page on learnxinyminutes.com
Working with the Maybe type, with nicely commented code examples.
Thorough book from The Pragmatic Programmers that covers basics and advanced concepts.
Syntax and features overview.
Adaptations for Elm from Ninety-Nine Haskell Problems.
Two tutorials on building web apps with Elm.
a brief overview of Elm as a programming language.
Beginners' course to Elm and Data
A non-beginner book about the practical aspects of developing Elm applications.
Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.
An introduction to Elm
Building web applications in F# following The Elm Architecture from first principles.
A list of README files by Evan.
A Collection of small example in Ellie.
A digital book about Elm.
Useful resources for programming language theory & development in Elm.
Learn how to build reactive web apps using Elm.
Learn how to create native JavaScript modules for Elm.
Series of articles about fundamentals and advanced topics.
A tutorial on developing single page web applications with Elm.
Short screencasts to teach you the Elm programming language from Erik Person.
Build your first Elm Web App.
Five parts tutorial on Elm.
Elm FAQ from Elm Community.
A tutorial on building an app in Elm from authentication to calling an API.
Video playlist about learning all the Elm fundamentals.
Video tutorial including Elm UI, Elm Review, responsive design, tests and more.
Egghead's Elm video training, many of which are free.
Walk through all the syntax and basic ideas in Elm as a general programming language.
Live coding videos on youtube.
An experience report from Bellroy
How a team built a business-critical web app for a customer using Elm.
Switching from imperative to functional programming with games in Elm.
Virtual DOM in Elm.
This article discusses topics about Elm from a business perspective
Some thoughts on Elm development by a Swedish startup.
A story how Elm fits a backend developer's brain like no other
Experiences on the Elm language.
A blog with various topics about Elm.
An article describing the Elm architecture and how to build a simple application
A Bachelor’s thesis about functional programming for frontend development with the focus on Elm.
A collection of notes for web developers looking into moving to Elm.
A blog post describing a possible approach to reducing TEA boilerplate. Useful for component libraries and anyone interested in seeing the amazing things you can do with function types.
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.
Series of Elm education tutorials.
a realistic look at where Elm is and isn’t superior to other options.
Sep 2019
Jun 2019
Jun 2019
Feb 2019
All talks from elm-conf 2018
A playlist of all talks from Elm Europe 2018
All talks from elm-conf 2017
A playlist of all talks from Elm Europe 2017
A playlist of all talks from Oslo Elm Day 2017
All talks from elm-conf 2016
elm-conf 2018 talk about end-to-end type-safety using external schemas like GraphQL.
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.
A talk that gives a broad, high-level introduction to Elm.
A talk from You Gotta Love Frontend 2016
A talk about the combination of functional programming with Elm at GOTO Chicago 2016.
+ ElmLive - elm live video examples.
A talk about modelling data structures in Elm in a way that makes invalid states unrepresentable
A talk about how Elm manages side effects.
A talk about Elm and initial steps to use it in production.
A talk from the father of Elm about the philosophy behind the language.
Official Elm blog
A weekly newsletter about Elm
A free weekly newsletter about Elm featuring hand-picked news, articles, books, events, tools, and libraries.
All Elm news in one place
Elm packages releases
Elm news in Reddit
Richard Feldman and Tessa Kelly.
Elm with Evan Czaplicki and Richard Feldman
Elm and Functional Programming with Richard Feldman.
Elm with Richard Feldman and Srinivas Rao.
Functional Programming with Elm, ClojureScript, Om, and React.
The Elm Programming Language.
Elm Revisited.
What the heck is Elm? In this episode, Joel Clermont talks about Elm and functional programming.
Richard Feldman discusses how Elm compares to React.js
Unit and fuzz tests
Test complete Elm programs
Describe the behavior of Elm programs.
Generate Elm types from Haskell
Generate Elm code
Build up Encoders/Decoders between Elm and TypeScript.
Generate TypeScript definitions from Elm (Elm TS Interop is an improved version of this).
Generate GraphQl client code from GraphQL queries
Generate GraphQl client code from GraphQL schemas
Generate Elm types, encoders, and decoders from Haskell types
Convert HTML to Elm Html. Useful when porting an app to Elm.
Generates Elm types, JSON decoders, JSON encoders and fuzz tests from JSON schema specifications
Generate OpenApi types for Elm.
Put some Tailwind in your Elm
Generate Protobuf En/Decoders from .proto files
Generate JSON decoders and encoders from JSON
Generate typesafe Elm code from translation files
Command line tool to share Elm libraries.
The official registry
Find packages in a catalog organized into categories.
Search Elm documentation for operators, function signatures, etc.
Create Elm apps with no build configuration.
Command Line Utility for creating an Elm boilerplate project easy to run, build and get deployed
A flexible dev server for Elm. Live reload included.
Elm webpack 4 starter template.
Example showing hot module reloading for Elm 0.19 and Webpack
A project template and generator for Elm, Parcel, Cypress and Netlify
The IHP Haskell Framework provides a built-in Elm boilerplate, useful when working with elm in the frontend and haskell in the backend
A simple Webpack setup for writing Elm apps.
A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.
A lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests.
A simple Makefile able to create Elm app.
Interactive setup for new Elm projects.
Generate initial project scaffolding based on a template.
A very very basic elm + webpack 4 template.
Yeoman generator for a simple elm application utilizing Material Design.
Linter for the Elm programming language.
Code reviewer for the Elm programming language.
Static site generator that prerenders HTML and hydrates into an Elm client-side app (here is a brief comparison with elmstatic).
Elm-based static site generator.
An experimental Elm-based bootstrapper that can also be plugged into already existing Elm applications.
Rich documentation builder based on Storybook and HexDocs.
Showcase your views and states.
The Elm Live Editor
Advanced Elm Live Editor
Run Elm code from the command line
atom package to try your elm code from the editor. Provides a visual REPL and a preview pane.
Build fast, full-stack web apps in your browser.
A flexible dev server for Elm. Live reload included!
elm make in watch mode. Fast and reliable.
A list of README files by Evan.
Webpack loader Elm.
Bundle Elm using Parcel.
Vite plugin for Elm.
Grunt plugin that compiles Elm files to JavaScript.
Find packages in a catalog organized into categories.
Automatic update PRs for your elm.json.
Elm offline documentation previewer.
Automatic Elm code formatter adhering to Elm Style Guide.
Install, upgrade and uninstall Elm dependencies
Query for information about values in elm source files. Used by most editor plugins.
JS type systems interportability.
Convert HTML to Elm.
Write CLI programs using Elm
Literate Visualization with Elm
Elm code linter for the Atom editor.
Elm snippets for Atom.
Syntax highlighting and autocompletion for the Atom editor.
Autocompletion, go to definition, find usages, rename symbol, etc. for the Atom editor.
A side panel that helps to navigate to any function, type definition or port in your project.
Syntax highlighting, Elm REPL, Elm make and Elm format integration for the Emacs editor.
Elm plugin for IntelliJ IDEA.
Elm Language Server for Sublime (Recommended).
Language server implementation for Elm
Syntax Highlighting for Elm in Sublime Text.
Sublime Text plugin to run elm-format on save.
Elm syntax highlighting. Use with ale or Neoformat for Neovim since ElmCast/elm-vim does not support Elm 0.19.
Elm 0.18 mode for Vim/Neovim.
Offline Elm documentation access in your editor.
Markup expansion with elm support.
Elm Language Server integration
Emmetio abbreviation expander into composition of Elm function with elm-format'er inside.
VSCode plugin to convert HTML to Elm
Syntax highlighting, REPL, autocompletion, package management and much more for Light Table.
Web site built with elm with list of projects and apps built with Elm.
Full stack Elm app w/ CRUD operations, Auth, routing, pagination and more. Code / Article / Video
A small SPA example in Elm to learn the basics
Proper implementation of the TodoMVC app.
Bare-bones, modular, heavily-documented todo app with JSON API persistence.
Fork of TodoMVC demonstrating start-app, The Elm Architecture and Firebase as backend.
Documented and tested implementation of the Elm TodoMVC app in Electron.
A Tinder-like application for gifs built with elm and firebase!
A collection of examples with advanced techniques for real-world Elm apps.
Minimal example of a custom element.
Tiny Elm projects implemented for the sake of learning by example.
An example Android application implemented with the Elm Architecture using the Kotlin programming language and Anko library.
A minimal Elm + Phoenix setup, using webpack instead of Brunch.
Elm app integrated with Spotify Api to search and explore new artists.
Elm project consuming PokéAPI.
JSON Web Token (JWT) authentication using Django (backend) and Elm (frontend).
Chrome extension built in Elm that shows the bitcoin value in all Brazilian exchanges.
Basic UI Clone of Instagram / Articles - Part 1 Part 2 Part 3
A kanban board (trello-alike) built with Elm and HTML5 Drag & Drop API
Pure SPA (with routing) exploring various aspects of Elm.
A progressive web app built with Elm version 0.18, using the official Hacker-News API
A framework for building interactive fiction style stories in Elm. Detailed example elmnarrativeengine.com shows how to build a "chose your own adventure" game; perfect for beginners. Elm v.0.19
A recipe site built as an SPA that also makes use of the Elm parser.
An end-to-end encrypted journal app.
Elm implementation of Conway's Game of Life. Elm v.0.19
A node-based visual editor for fiddling with regular expressions, built with Elm.
An excellent list of games made in Elm
A reddit place like DApp with blockchain and canvas(through port) integration in Elm.
A list of companies using Elm in production.
Elm Discourse instance (official forum).
Elm news in Reddit
Ask questions on elm freenode.
Elm slack community.
F# in WebAssembly using Elmish
The Elm Architecture based on OCaml / Reason and Bucklescript
Write Elixir code using statically-typed Elm-like syntax
Elm-like abstractions for F# apps
F# Functional App Development, using declarative dynamic UI
A library that provides The Elm Architecture in PureScript.
A library that provide The Elm Architecture in JavaScript.
A cross-platform GUI library for Rust, inspired by Elm
Indigo is an Elm-inspired game engine for Scala.js.
A library that provides The Elm Architecture in Gleam.
A library that provides The Elm Architecture in Haskell.
Elm-like abstractions for android apps, created by Spotify.
A thin library that provides The Elm Architecture in react, used by IBM.
A predictable state container for JavaScript apps.
A language that targets WebAssembly and machine code inspired by Elm.
A library that provides The Elm Architecture in Rust targeting the web.
苹果官方的UI框架,用于构建iOS和macOS应用
Tyrian is an Elm-inspired frontend framework for Scala.js.
.NET Multi-platform App UI
An Elm inspired Model-View-Update (MVU) implementation for Kotlin multiplatform.
A POC for using Elm 0.18 for native iOS Applications
A POC for compiling elm to Web Assembly
Run Elm 0.18 on Cloud Functions using the Serverless Frameworks
Write CLI programs using Elm
rust-unofficial/awesome-rust
A curated list of Rust code and resources.
jaywcjlove/awesome-mac
This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.
vinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
fffaraz/awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
avelino/awesome-go
A curated list of awesome Go frameworks, libraries and software
ziadoz/awesome-php
A curated list of amazingly awesome PHP libraries, resources and shiny things.