Elm
Contents
Learning Guides
How to create modular Elm code that scales nicely with your app.
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.
Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.
Useful resources for programming language theory & development in Elm.
Outdated Tutorials and books (Elm 0.18 or earlier)
Articles
Outdated articles (Not relevant for current Elm architecture)
A collection of notes for web developers looking into moving to Elm.
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.
Testing
Code generators
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
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
Package managers
Boilerplates
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
Outdated Boilerplates
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.
Static analysis
Static site generators
Showcase generators
Run Elm
Compile and bundle
Other tools
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.
Literate Visualization with Elm
Beyond the DOM
Editor plugins
Atom
Sublime Text
Vim/Neovim
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.
Examples
Full stack Elm app w/ CRUD operations, Auth, routing, pagination and more.
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.
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
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.
Games
Community and Support
Inspired by Elm
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
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 language that targets WebAssembly and machine code inspired by Elm.
A library that provides The Elm Architecture in Rust targeting the web.