awesome-elm

Elm resource list

A curated collection of resources for learning and improving skills with the Elm programming language

A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. rocket

GitHub

4k stars
142 watching
224 forks
last commit: almost 2 years ago
Linked from 6 awesome lists

awesomeawesome-listelmelm-appselm-languageelm-newselm-tutorialelm-videos

Awesome Elm / Table of Contents

Contribution Guidelines3,615almost 2 years ago

Awesome Elm / Learning Guides

Official tutorial— General information and in-depth guide with examples
Elm in Action— In-depth book for Elm beginners, from Manning Publications
Architecture Tutorial4,171over 6 years agoHow to create modular Elm code that scales nicely with your app
Exercism Elm TrackCollection of Elm exercises
Learn you an ElmElm tutorial with exhaustive examples and descriptions
Beginning ElmA gentle introduction to the Elm programming language
Elm patternsA collection of common patterns in Elm
Elm Koans233almost 7 years agoPractice exercises for learning Elm
Learn Elm484almost 2 years agoDiscover the beautiful programming language that makes front-end web apps a joy to build and maintain!
Learn Elm in Y MinutesSyntax and features overview. The Elm page on
Elm Maybe - Dealing with null/NothingWorking with the Maybe type, with nicely commented code examples
Programming ElmThorough book from The Pragmatic Programmers that covers basics and advanced concepts
Elm cheat sheet953over 8 years agoSyntax and features overview
Ninety-nine Problems, Solved in ElmAdaptations for Elm from Ninety-Nine Haskell Problems
Elm Tutorials on CodementorTwo tutorials on building web apps with Elm
Elm programming languagea brief overview of Elm as a programming language
Elm: A Beginners' Guide to Elm and DataBeginners' course to Elm and Data
Practical Elm for a Busy DeveloperA non-beginner book about the practical aspects of developing Elm applications
Haskell to Elm67over 9 years agoCollection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds
A nice app on Elm streetAn introduction to Elm
The Elmish BookBuilding web applications in following The Elm Architecture from first principles
Elm patternsA collection of coding patterns
Codings hints7,575about 2 years agoA list of README files by Evan
Ellies catalogA Collection of small example in Ellie
Elm CookbookA digital book about Elm
Awesome Elm PLTD47almost 2 years agoUseful resources for programming language theory & development in Elm

Awesome Elm / Learning Guides / Outdated Tutorials and books (Elm 0.18 or earlier)

Elm: Building Reactive Web AppsLearn how to build reactive web apps using Elm
Writing native356over 10 years agoLearn how to create native JavaScript modules for Elm
Elm: Functional frontend developmentSeries of articles about fundamentals and advanced topics
Elm TutorialA tutorial on developing single page web applications with Elm
Elm SeedsShort screencasts to teach you the Elm programming language from Erik Person
Elm For Beginners - Video CourseBuild your first Elm Web App
Single-Page Web Apps in ElmFive parts tutorial on Elm
Elm FAQElm FAQ from
Elm Tutorial by Auth0A tutorial on building an app in Elm from authentication to calling an API

Awesome Elm / Learning Guides / Learning Videos

Welcome to ElmVideo playlist about learning all the Elm fundamentals
Elm The Complete GuideVideo tutorial including Elm UI, Elm Review, responsive design, tests and more
Egghead.io: Elm videosEgghead's Elm video training, many of which are free
Elm BasicsWalk through all the syntax and basic ideas in Elm as a general programming language
Greg Ziegan: Elm live coding videosLive coding videos on youtube

Awesome Elm / Articles / Why Elm?

Side-effects of Elm in productionAn experience report from Bellroy
How Elm Made Our Work BetterHow a team built a business-critical web app for a customer using Elm
FP with games in Elm1,575about 2 years agoSwitching from imperative to functional programming with games in Elm
Blazing Fast HTMLVirtual DOM in Elm
Elm from a Business PerspectiveThis article discusses topics about Elm from a business perspective
Move fast and don’t break things. Running a startup on ElmSome thoughts on Elm development by a Swedish startup
Elm: A frontend story that a backend dev can loveA story how Elm fits a backend developer's brain like no other

Awesome Elm / Articles / Miscellaneous articles

Learning FP the hard wayExperiences on the Elm language
Blog of Brian HicksA blog with various topics about Elm
Introduction to The Elm Architecture and How to Build our First ApplicationAn article describing the Elm architecture and how to build a simple application
Functional Programming for Web Frontend by Jan LuxemburkA Bachelor’s thesis about functional programming for frontend development with the focus on Elm

Awesome Elm / Articles / Outdated articles (Not relevant for current Elm architecture)

Elm for Web Developers56over 10 years agoA collection of notes for web developers looking into moving to Elm
Elm & ComponentsA 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
Composing Features and Behaviours in the Elm ArchitectureAn 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 ElmSeries of Elm education tutorials
Elm & Guaranteesa realistic look at where Elm is and isn’t superior to other options

Awesome Elm / Conference Videos / Playlists

Elm Conf 2019Sep 2019
Elm Europe 2019Jun 2019
Elm in the Spring 2019Jun 2019
Oslo Elm Day 2019Feb 2019
Elm Conf 2018All talks from elm-conf 2018
Elm Europe 2018A playlist of all talks from Elm Europe 2018
Elm Conf 2017All talks from elm-conf 2017
Elm Europe 2017A playlist of all talks from Elm Europe 2017
Oslo Elm Day 2017A playlist of all talks from Oslo Elm Day 2017
Elm Conf 2016All talks from elm-conf 2016

Awesome Elm / Conference Videos / Miscellaneous videos

Dillon Kearns: Types Without Borders | 2018elm-conf 2018 talk about end-to-end type-safety using external schemas like GraphQL
Jamison Dance: Rethinking All Practices - Building Applications in Elm | 2016A 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 | 2016A talk that gives a broad, high-level introduction to Elm
Amitai Burstein: Frontend with Guarantees | 2016A talk from You Gotta Love Frontend 2016
Jessica Kerr: Adventures in Elm | 2016A talk about the combination of functional programming with Elm at GOTO Chicago 2016
Aaron VonderHaar: Codevember | 2016+ - elm live video examples
Richard Feldman: Making impossible states impossible | 2016A talk about modelling data structures in Elm in a way that makes invalid states unrepresentable
Richard Feldman: Effects as Data | 2015A talk about how Elm manages side effects
Richard Feldman: Make the Back-End Team Jealous: Elm in Production | 2015A talk about Elm and initial steps to use it in production
Evan Czaplicki: Let's be mainstream! User focused design in Elm | 2015A talk from the father of Elm about the philosophy behind the language

Awesome Elm / News

Official Elm NewsOfficial Elm blog
Elm WeeklyA weekly newsletter about Elm
Elm BitsA free weekly newsletter about Elm featuring hand-picked news, articles, books, events, tools, and libraries
Elm NewsAll Elm news in one place
Elm GreenwoodElm packages releases
Elm RedditElm news in Reddit

Awesome Elm / Podcasts

Elm RadioTune in to the tools and techniques in the Elm ecosystem
Elm TownA podcast about the people in the Elm community (Outdated)

Awesome Elm / Podcasts / Individual Podcast episodes

Functional Geekery 33Richard Feldman and Tessa Kelly
The Changelog 218Elm with Evan Czaplicki and Richard Feldman
The Changelog 191Elm and Functional Programming with Richard Feldman
Software Engineering DailyElm with Richard Feldman and Srinivas Rao
The Web Platform Podcast 15Functional Programming with Elm, ClojureScript, Om, and React
The Web Platform Podcast 76The Elm Programming Language
The Web Platform Podcast 108Elm Revisited
Full Stack Radio 44What the heck is Elm? In this episode, Joel Clermont talks about Elm and functional programming
InfoQ Podcast 2017-04-27Richard Feldman discusses how Elm compares to React.js

Awesome Elm / Testing

Elm test237over 2 years agoUnit and fuzz tests
Elm Program test93over 2 years agoTest complete Elm programs
Elm Spec29about 3 years agoDescribe the behavior of Elm programs

Awesome Elm / Code generators

Elm Bridge101almost 2 years agoGenerate Elm types from Haskell
Elm CodeGen138almost 2 years agoGenerate Elm code
Elm TS Interop42over 3 years agoBuild up Encoders/Decoders between Elm and TypeScript
Elm TypeScript Interop165almost 5 years agoGenerate TypeScript definitions from Elm ( is an improved version of this)
elm-gql69about 2 years agoGenerate GraphQl client code from GraphQL queries
elm-graphql778about 2 years agoGenerate GraphQl client code from GraphQL schemas
haskell-to-elm61about 2 years agoGenerate Elm types, encoders, and decoders from Haskell types
HTML to ElmConvert HTML to Elm Html. Useful when porting an app to Elm
JSON Schema to Elm88about 2 years agoGenerates Elm types, JSON decoders, JSON encoders and fuzz tests from JSON schema specifications
OpenApi Generator22,205almost 2 years agoGenerate OpenApi types for Elm
PostCSS Elm Tailwind98almost 4 years agoPut some Tailwind in your Elm
Protoc Gen Elm16almost 2 years agoGenerate Protobuf En/Decoders from .proto files
Quicktype12,541about 2 years agoGenerate JSON decoders and encoders from JSON
Travelm Agency47about 2 years agoGenerate typesafe Elm code from translation files

Awesome Elm / Package managers

elm-package213about 8 years agoCommand line tool to share Elm libraries

Awesome Elm / Libraries

Elm packagesThe official registry
Elm CatalogFind packages in a catalog organized into categories
Elm SearchSearch Elm documentation for operators, function signatures, etc

Awesome Elm / Boilerplates

create-elm-app1,686almost 2 years agoCreate Elm apps with no build configuration
elm-boil20over 3 years agoCommand Line Utility for creating an Elm boilerplate project easy to run, build and get deployed
elm-live1,053over 4 years agoA flexible dev server for Elm. Live reload included
elm-webpack-4-starter112about 2 years agoElm webpack 4 starter template
example-elm-hot-webpack8over 7 years agoExample showing hot module reloading for Elm 0.19 and Webpack
Elm Batteries117almost 5 years agoA project template and generator for Elm, Parcel, Cypress and Netlify
IHP + ElmThe IHP Haskell Framework provides a built-in Elm boilerplate, useful when working with elm in the frontend and haskell in the backend

Awesome Elm / Boilerplates / Outdated Boilerplates

elm-webpack-starter861almost 5 years agoA simple Webpack setup for writing Elm apps
elm-app-boilerplate120over 8 years agoA fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more
elmkit51almost 3 years agoA lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests
elm-boilerplate3almost 9 years agoA simple Makefile able to create Elm app
elm-init11almost 10 years agoInteractive setup for new Elm projects
elm-new81over 6 years agoGenerate initial project scaffolding based on a template
elm-webpack-starter-kid5almost 8 years agoA very very basic elm + webpack 4 template
generator-elm-mdl0about 2 years agoYeoman generator for a simple elm application utilizing Material Design

Awesome Elm / Frameworks

elm-spaFramework for making single page apps in Elm
Elm LandA framework for building Elm applications
Spades302over 3 years agoStart an Elm SPA ready to the real world

Awesome Elm / Static analysis

Elm Analyse415over 3 years agoLinter for the Elm programming language
Elm Review261almost 2 years agoCode reviewer for the Elm programming language

Awesome Elm / Static site generators

Elm PagesStatic site generator that prerenders HTML and hydrates into an Elm client-side app ( )
ElmstaticElm-based static site generator

Awesome Elm / Showcase generators

Elm BookRich documentation builder based on Storybook and HexDocs
Elm UI Explorer216over 3 years agoShowcase your views and states

Awesome Elm / Run Elm

EllieThe Elm Live Editor
Elm EditorAdvanced Elm Live Editor
run-elm52almost 5 years ago— Run Elm code from the command line
elm-instantatom package to try your elm code from the editor. Provides a visual REPL and a preview pane
GlitchBuild fast, full-stack web apps in your browser
Elm LiveA flexible dev server for Elm. Live reload included!
Elm Watch156almost 2 years agoin watch mode. Fast and reliable

Awesome Elm / Compile and bundle

elm-compiler7,575about 2 years agoThe official Elm compiler
elm-webpack-loader532over 2 years agoWebpack loader Elm
ParcelBundle Elm using Parcel
vite-plugin-elm202almost 2 years agoVite plugin for Elm

Awesome Elm / Compile and bundle / Unmaintained

grunt-elm19over 8 years agoGrunt plugin that compiles Elm files to JavaScript

Awesome Elm / Other tools

Elm CatalogA catalog of Elm tools
DependabotAutomatic update PRs for your elm.json
Elm Doc Preview128almost 2 years agoElm offline documentation previewer
Elm Format1,315over 3 years agoAutomatic Elm code formatter adhering to
Elm JSON183about 3 years agoInstall, upgrade and uninstall Elm dependencies
Elm Oracle151almost 9 years agoQuery for information about values in elm source files. Used by most editor plugins
type-o-rama244almost 4 years agoJS type systems interportability
Html to ElmConvert HTML to Elm
elm-posix91almost 5 years agoWrite CLI programs using Elm
Litvis382about 2 years agoLiterate Visualization with Elm

Awesome Elm / Editor plugins / Atom

atom-linter-elm-makeElm code linter for the Atom editor
atom-elm-snippets6almost 10 years agoElm snippets for Atom
atom-language-elmSyntax highlighting and autocompletion for the Atom editor
elmjutsuAutocompletion, go to definition, find usages, rename symbol, etc. for the Atom editor
atom-elm-navigatorA side panel that helps to navigate to any function, type definition or port in your project

Awesome Elm / Editor plugins / Emacs

emacs-elm-mode376over 3 years agoSyntax highlighting, Elm REPL, Elm make and Elm format integration for the Emacs editor

Awesome Elm / Editor plugins / IntelliJ

elm-plugin397about 2 years agoElm plugin for IntelliJ IDEA

Awesome Elm / Editor plugins / Sublime Text

LSP-elm7almost 2 years agoElm Language Server for Sublime (Recommended)
Elm Language Server418almost 2 years agoLanguage server implementation for Elm
Elm Syntax HighlightingSyntax Highlighting for Elm in Sublime Text
Elm Format on Save23about 7 years agoSublime Text plugin to run elm-format on save

Awesome Elm / Editor plugins / Vim/Neovim

theJian/elm.vim0over 8 years agoElm syntax highlighting. Use with since ElmCast/elm-vim does not support Elm 0.19
ElmCast/elm-vim573over 5 years agoElm 0.18 mode for Vim/Neovim
vim-elm-help7over 6 years agoOffline Elm documentation access in your editor
emmet-vim6,430about 2 years agoMarkup expansion with elm support

Awesome Elm / Editor plugins / Visual Studio Code

ElmLSElm Language Server integration
Elmmet: Emmet for Elm (Visual Studio Code)Emmetio abbreviation expander into composition of Elm function with elm-format'er inside
HTML to Elm for Visual Studio CodeVSCode plugin to convert HTML to Elm

Awesome Elm / Editor plugins / Other editors

elm-light-table133over 9 years agoSyntax highlighting, REPL, autocompletion, package management and much more for Light Table

Awesome Elm / Examples

BuiltwithelmWeb site built with elm with list of projects and apps built with Elm
Elm SPA ExampleFull stack Elm app w/ CRUD operations, Auth, routing, pagination and more. / /
Elm Example App436almost 8 years agoA small SPA example in Elm to learn the basics
TodoMVC1,214over 6 years agoProper implementation of the TodoMVC app
TodoMVC with JSON API104almost 9 years agoBare-bones, modular, heavily-documented todo app with JSON API persistence
TodoMVC/Firebase60over 10 years agoFork of TodoMVC demonstrating start-app, and Firebase as backend
TodoMVC in Electron87almost 4 years agoDocumented and tested implementation of the Elm TodoMVC app in Electron
Gipher222about 10 years agoA Tinder-like application for gifs built with elm and firebase!
Collection of examples210over 7 years agoA collection of examples with advanced techniques for real-world Elm apps
<elm-ement>49about 9 years ago– Minimal example of a custom element
Elm PlaygroundTiny Elm projects implemented for the sake of learning by example
Elm Architecture in Android59almost 10 years agoAn example Android application implemented with the Elm Architecture using the Kotlin programming language and Anko library
Elm + Phoenix + Webpack55about 8 years agoA minimal Elm + Phoenix setup, using webpack instead of Brunch
Spotify Mapper65over 3 years agoElm app integrated with Spotify Api to search and explore new artists
Pokelmon15over 5 years agoElm project consuming PokéAPI
JWT auth with Django + Elm20about 9 years agoJSON Web Token (JWT) authentication using Django (backend) and Elm (frontend)
Bitcoin BR Chrome Extension4almost 9 years agoChrome extension built in Elm that shows the bitcoin value in all Brazilian exchanges
Elmstagram18over 5 years agoBasic UI Clone of Instagram / Articles -
Kanban Board in Elm301over 7 years agoA kanban board (trello-alike) built with Elm and HTML5 Drag & Drop API
Elm PlaygroundPure SPA (with routing) exploring various aspects of Elm
Elm Hacker News PWA1almost 9 years agoA progressive web app built with Elm version 0.18, using the official Hacker-News API
Elm Narrative Engine135about 3 years agoA framework for building interactive fiction style stories in Elm. Detailed example shows how to build a "chose your own adventure" game; perfect for beginners
Ari's Garden55over 3 years agoA recipe built as an SPA that also makes use of the Elm parser
Bolster8about 5 years agoAn end-to-end encrypted journal app
Conway's Game of Life0almost 4 years agoElm implementation of Conway's Game of Life
Regex Nodes35over 2 years agoA , built with Elm

Awesome Elm / Examples / Games

elm-games143over 3 years agoAn excellent list of games made in Elm
TheSpace App3about 4 years agoA reddit place like DApp with blockchain and canvas(through port) integration in Elm

Awesome Elm / Community and Support

Companies using Elm470almost 2 years agoA list of companies using Elm in production
DiscourseElm Discourse instance (official forum)
RedditElm board on reddit
IRCAsk questions on elm freenode
SlackElm slack community

Awesome Elm / Conferences

Elm Conf
Elm Europe
Elm in the spring
Oslo Elm day
Elm Japan
Elm Camp

Awesome Elm / Inspired by Elm

BoleroF# in WebAssembly using Elmish
Bucklescript-TEA600over 2 years agoThe Elm Architecture based on OCaml / Reason and
Elchemy1,146over 6 years agoWrite Elixir code using statically-typed Elm-like syntax
Elmish843almost 2 years agoElm-like abstractions for F# apps
Fabulous1,168almost 2 years agoF# Functional App Development, using declarative dynamic UI
Iced25,028almost 2 years agoA cross-platform GUI library for Rust, inspired by Elm
ReduxA predictable state container for JavaScript apps
SwiftUI
MAUI.NET Multi-platform App UI
OolongAn Elm inspired Model-View-Update (MVU) implementation for Kotlin multiplatform

Awesome Elm / Beyond the DOM

iOS160about 8 years agoA POC for using Elm 0.18 for native iOS Applications
elmish-wasm17over 8 years agoA POC for compiling elm to Web Assembly
elm-serverless166about 7 years agoRun Elm 0.18 on Cloud Functions using the Serverless Frameworks
elm-posix91almost 5 years agoWrite CLI programs using Elm

Awesome Elm / More awesome

awesome337,709almost 2 years agoby
awesome-awesomeness32,173over 2 years agoby

Backlinks from these awesome lists:

More related projects: