2022 has been another exciting year for Elm, with many interesting packages, blog posts, videos, podcasts, demos, tutorials, applications, and so on.
Let's have a look at it in retrospect.
This is a list of relevant materials. I am sure there is stuff that I missed. Send me a DM in case you think there is something that I should add or remove.
At the bottom, you will also find some of the companies that hired Elm developers in 2022 and a partial list of companies that use Elm.
If you want to keep up with Elm's related news:
- Subscribe to the Elm Weekly newsletter or follow it on Twitter
- Join the Elm community on Slack
- Check discourse.elm-lang.org
- Follow @elmlang on Twitter
- Listen to the Elm Radio podcast
- Browse the Elmcraft website
- Check Incremental Elm Discord for working on Elm open source projects
You can also check the previous Elm 2021, a year in review.
Here we go 🚀
January 3rd - Project ElmLS 2.4.0 and VSCode Client 2.4.0 are out by Kolja Lampe (A new releases of the language server and the VSCode client. New features include: fuzzy matching when using the workspace symbol search, ignoring suppressed elm-review errors, and lots more.)
January 3rd - Elm Radio episode #47 - What's Working for Elm "We look at what we can learn by understanding what's working well for Elm and the Elm ecosystem."
January 7th - Project Early release of the Elm-pair editor tool by Jasper Woudenberg (Early release of elm-pair, an editor integration that got teased a couple years ago.)
January 8th - Project elm-css 17.0.2 by Robin H. Hansen (elm-css 17.0.2 is released with huge improvements in performance)
- January 10th - Announcement Advent of Code 2021 by Ryan Haskell-Glatz (A handful of videos teaching Elm through Advent of Code. With this blog post he recaps each of the 7 days he recorded.)
- January 11th - Video Introduction to Elm (with Lindsay Wardell) | Some Antics - A presentation by Ben Myers (Elm is a delightful functional programming language with an emphasis on tooling. Join us as Lindsay Wardell shows us how we can get started with Elm today!)
- January 12th - Video Functional Programming for Pragmatists - A presentation by Richard Feldman at GOTO Copenhagen 2021 (Do you care more about how well code works than how conceptually elegant it feels? Are you more interested in how effectively you can build and maintain software than how buzzword-compliant it is? Then this is the talk for you! People like functional programming for different reasons. Some like it for the conceptual elegance, or the mathematical properties. Richard? He likes to build things. He likes it when the software he builds works well and is easy to maintain. For the past decade he's been using functional programming both professionally and as a hobbyist, and has found it has helped him ship higher quality software in less time than in the decade he spent writing object-oriented code before.)
- January 15th - Project Elm Search by Henrique Buss (For those using Mac's, now there is an Elm Search extension for Raycast. Helping you to more quickly find packages, functions, and more!)
January 15th - Post Learning Elm the Wrong Way: A Series (Probably) by John Pavlick
January 16th - Post Lambda Calculus: an Elm CLI by James Carlson (How to build a calculator in Lambda Calculus.)
- January 17th - Elm Radio episode #48 - If It Compiles It Works "What do we really mean when we say "if it compiles it works?" And how do we make sure our apps stay that way?"
- January 19th - Video Elm Part 1 - Setup Elm and Write Your First Program - A presentation by Kindson The Tech Pro
January 19th - Post Why I decided to learn Elm and drop React by Bohdan Balov
January 20th - Post My Elm experience by Underjord (Coming head first into Elm as, primarily, an Elixir developer.)
January 21st - Post Rethinking Maybes for Elm beginners by Crawford Collins
- January 23rd - Announcement McMaster Start Coding has taught over 22,222 kids! by McMaster Start Coding (Attention #Elm coders! Thanks to your participation, McMaster Start Coding has taught over 22,222 kids! To celebrate we are hosting a contest, and winners get free entry into a summer camp! We will select 2 winners every week, for 5 weeks straight!)
January 28th - Post "You can't do nested record updates in Elm." by John Pavlick
January 29th - Video Wordle in Elm in 1h13m17s (PB, timelapse) - A presentation by Martin Janiczek
- January 29th - Post Twitter thread about components by Duncan Malashock (In @elmlang, your UI elements don't need to be "components" the way they might be in React. So what should they be? Here are a number of common patterns for different requirements.)
- January 30th - Post Elm vs HyperScript - A Wordle implementation by Luca Mugnaini
- January 31st - Elm Radio episode #49 - Optimizing Performance with Robin Hansen "We talk about Robin's work optimizing Elm, and the opportunities that remain for Elm performance improvements."
- February 3rd - Video Implementing WORDLE in Elm in under 82 minutes! - A presentation by Flavio Corpa (Code on Github: https://github.com/kutyel/elm-wordle)
- February 5th - Video Learning Elm while launching a project, good idea? - A presentation by Loïc Knuchel at Elm Online Meetup
- February 7th - Post Differences between TypeScript and Elm by Luca Mugnaini
- February 8th - Video The Ideal Programming Language - A presentation by Richard Feldman & Erik Doernenburg at GOTO 2021
February 10th - Game Three Tenths by Chris Andrejewski (A game of precision where you must strike at exactly three tenths (3/10, 0.3, 3:7) along a given path.)
February 13th - Post Hungary for the Power: A Closer Look at Hungarian Notation by John Pavlick
February 14th - Elm Radio episode #50 - Large Elm Codebases with Ju Liu "Ju Liu joins us to share some tips and techniques from working with a large Elm codebase at NoRedInk."
- February 15th - Podcast Software Unscripted: Interactive Style Guides by Richard Feldman (Richard Feldman discusses interactive style guides with Tessa Kelly & Ben Dansby)
February 16th - Announcement IntelliJ Elm Plugin future by clojj (Clojj announced the renovation of the IntellyJ Elm Plugin and already had some success with elm-review integration, Lamdera project support)
February 17th - Post Utilizing Elm in a Web Worker by Lindsay Wardell
- February 17th - Post GraphQL and Elm by Ryan Haskell-Glatz (Making inputs that don't bust your face.)
- February 21st - Video Writing a MMORPG game in Elm on both client and server - A presentation by Martin Janiczek at NDC Oslo 2021 (For the better part of last year I've been writing a multiplayer browser game, with both frontend and backend written in the Elm language. I'll talk about my setup, the good, bad and ugly of this approach, anecdotes from development, what surprised me and what the future holds. Who said Elm's for frontend only‽)
- February 21st - Project Meteor with Elm starter kit by Anthonny Quérouil (I have just updated my starter kit to work with @elmlang and @meteorjs)
- February 21st - Game Katakana Wordle by Flavio Corpa (Learn a new KATAKANA word EVERY day!)
- February 22nd - Video elm interreactor - Clickable compiler messages for the lazy - A presentation by Jan Wirth at Elm Online Meetup (A clickable compiler messages for the lazy.)
February 22nd - Announcement Announcing Elmcraft - a place for all things Elm by Mario Rogic (Announcing Elmcraft, a place for curated list of books on Elm, podcasts or other learning materials.)
February 22nd - Announcement Minidenticons ported to Elm by Laurent Payot (Minidenticons, a super-lightweight SVG identicon generator for client-side avatars)
- February 26th - Post React to Elm: Migrating React to Elm in Three Ways by Joel Abshier
- February 28th - Post Tail recursion, but modulo cons by Jeroen Engels
- February 28th - Elm Radio episode #51 - Primitive Obsession "We discuss the Primitive Obsession code smell, and how introducing types with semantic meaning can improve your Elm codebase."
March 4th - Post Getting Started with Vite for React and Elm by Joel Abshier
March 7th - Project elm-map by Luca Mugnaini
March 11th - Post SimulatedHttp, functors and sed by Allanderek
March 14th - Post Using the Builder Pattern for Elm Components by Jesse Warden
March 14th - Elm Radio episode #52 - Category Theory in Elm with Joël Quenneville "Joël Quenneville joins us to help us distill down Category Theory patterns and explore what value it brings us as Elm developers."
March 15th - Announcement New elm-review package releases by Jeroen Engels
March 15th - Announcement New Elm-pair release adds support for Visual Studio Code by Jasper Woudenberg
March 16th - Tutorial Elm - The Complete Guide (a web development video tutorial) by Carlos Saltos (I've just created a new class for increasing more Elm adoption, please help to share it with your friends that want to learn new better ways to create nice web sites using Elm)
March 17th - Video Hobby scale: making web apps with minimal fuss - A presentation by Martin Stewart (Creating web apps requires setting up a lot of infrastructure. Configuring a database, managing hosting, writing deploy scripts, and handling communication between the client and server are only some of the many things that need to be done. Unfortunately for many projects, this level of control isn't needed and is instead a burden. It doesn't need to be this way though! In this presentation I'll give an overview of how you can use Elm programming language and the Lamdera framework to create web apps with little effort as well as show some of the apps I've created using it.)
March 18th - Tutorial Elm - The Complete Guide (includes ports, design and more) by Comidoc
March 19th - Post Elm at Talenteca by Carlos Saltos
- March 21st - Post Trying your luck with Elm by Zenobio
March 22nd - Project Elm Designer 0.4 is out by Andrea Peltrin
March 23rd - Post My Little Functor by Michel Belleville
- March 26th - Video Familiarity or Guarantees? Functional Programming for the front-end - A presentation by Luca Mugnaini at Functional Conf 2022
- March 28th - Elm Radio episode #53 - Dead Code "We discuss how to remove dead code in Elm, or avoid it altogether in your workflow, and why it matters."
March 29th - Post Install Elm for OpenBSD x86_64 by Carlos Saltos
March 30th - Post Install Elm for Linux arm64 by Carlos Saltos
March 31st - Video Code Azimutt feature with Elm: collapse columns - A presentation by Loïc Knuchel
- March 31st - Project Platformer physics system by Andrea Peltrin (I’ve done a proof-of-concept platformer physics system using pixel-perfect values in #Elm. This was hella fun!)
- April 2nd - Video Friday Hacks #221: Why bet the company on Elm for both front and backend? - A presentation by Choon Keat (Although Elm usually runs on the browser, this talk explains why it’s actually a great choice for building the backend too – and why it can be a perfect choice for a startup. We will walk through how it even works on the backend, and how wonderful life can be in such an environment!)
April 2nd - Post Reading Note: Interacting with time in elm by Huy Phung
April 5th - Post Easy dependency integration in Kotlin/JS using the "Elm ports" technique by Julien
- April 7th - Video Code Azimutt feature with Elm: table & column notes - A presentation by Loïc Knuchel
- April 9th - Video Extending Railway Oriented Programming in Elm to Make Complex User Flows Simple - Grahame #FnConf 22 - A presentation by Grahame Dixon at Functional Conf 2022
April 9th - Post Reading Note: Randomness in Elm by Huy Phung
April 10th - Project Have parcel turn svg into elm modules for you by Christoph
April 11th - Elm Radio episode #54 - Developer Productivity "We share our productivity and workflow tips, and how it changes the way we write Elm code."
- April 14th - Video Introduction to Elm-Lang - A presentation by Shalk Venter and Gary (A presentation organized by Front-end Development South Africa)
April 14th - Project Elm Query by Andrea Callea (A handy little package for searching Elm packages from within Sublime Text.)
April 14th - Post My setup for an Elm application from development to production by Huy Phung
April 15th - Video Property based testing: primer and examples - A presentation by Martin Janiczek
April 16th - Announcement Updates on elm-test-rs, elm-test, exercism by Matthieu Pizenberg
April 19th - Post LETWW, Part 2: "Regular expressions are quite confusing and difficult to use." by John Pavlick
April 20th - Podcast Software Unscripted: Static Analysis with Jeroen Engels by Richard Feldman (Jeroen Engels, creator of elm-review and co-host of the Elm Radio podcast, talks about static analysis tools with Richard Feldman.)
April 22nd - Post Elm Bug-Free Web App Development by Kaspar L. Palgi
April 22nd - Post Why should you try Elm? by Álvaro Sánchez (Álvaro Sánchez shares their thoughts on why Elm is worth learning.)
April 23rd - Video Web Programming In Elm - Getting Started - A presentation by Aaron Zimmerman
- April 25th - Elm Radio episode #55 - Use the Platform "We discuss what it means to use the web platform, and how that helps improve the user and developer experience in Elm apps."
April 26th - Post Starter configurations for elm-review by Jeroen Engels (Jeroen talks about adding starter template configurations to elm-review.)
April 29th - Post Why Are Phantom Types Useful? by Stefan Wullems (In this post, Stefan Wullems goes over both what phantom types are, as well as why they might be useful.)
- May 1th - Video Offline Elm CSV to JSON GUI application in one video (elm-ui) - A presentation by Atle Wee Førre
May 1th - Announcement Custom views in Confidenceman02/elm-select by Jaime Terreu (A new release of Confidenceman02/elm-select that adds richer display of options.)
May 4th - Video Applications as Libraries: Building elm-book and elm-admin - A presentation by Georges Boris at Elm Online Meetup
May 4th - Survey State of Elm 2022 by Martin Stewart
May 8th - Announcement Elm-url-codec: Define both URL parser and builder at once by Martin Janiczek
May 9th - Post Using Elm pipelines with andThen to decode a multi-object type by Harold Campbell
May 9th - Post Utilizing Native Dialog in Elm by *Lindsay Wardell *
- May 9th - Elm Radio episode #56 - elm-book with Georges Boris "Georges Boris joins us to discuss elm-book and how it helps iterate on a design language of Elm widgets."
- May 11th - Video A janitor for Elm - A presentation by Rupert Smith at Elm Online Meetup
- May 11th - Video Game programming and creative coding with Elm - A presentation by Erkal Selman at Elm Online Meetup
- May 11th - Video Elm Programming Quick Start - For Beginners (Functional Programming) - A presentation by Kindson The Tech Pro (This tutorial is a quick start of the Elm Programming Language for beginners and other who would like to delve into the world of Functional programming)
- May 11th - Post Introduction to Elm programming language for React developers by Krzysztof Kałamarski
- May 14th - Project Elm + Heroicons = Love by Dan Bruder (elm/svg icons for your Elm project)
- May 15th - Podcast Software Unscripted: Software Design with Dillon Kearns by Richard Feldman
May 15th - Announcement Guix (GNU Build System) has added support for Elm packages.
May 17th - Post Elm's rate of adoption is still quite low. Why is this? by Duncan Malashock (@elmlang changed front-end development with its intentional design and radical simplicity. A few years later, @evancz encouraged the Elm community: "Let's be mainstream!", with a plan to do so. After 10 years, Elm's rate of adoption is still quite low. Why is this?)
May 18th - Video Celebrating 10 years of Elm - A presentation by Evan Czaplicki at Elm Online Meetup
May 18th - Post Writing better Elm code with simple List transformations by Harold Campbell (A practical walkthrough of using List.map in Elm)
May 19th - Announcement Celebrating 10 years of Elm by Evan Czaplicki (Been working on @elmlang for over a decade now, so I put together some fun stories to celebrate. Met so many lovely people through this project, and it was a heartwarming surprise to see so many of you in the chat 🥰)
May 21st - Announcement Song Designer made with Elm <3 Open for Hacks by Cortland Mahoney
May 22nd - Video The store pattern in Elm - A presentation by Martin Janiczek
May 22nd - Announcement elm-toastui-markdown by awesomo4000 (Elm library to use toast-ui wysiwyg markdown editor via web component.)
May 23rd - Post Fixing vulnerabilities in Elm's virtual DOM by Jeroen Engels
May 23rd - Elm Radio episode #57 - State of Elm 2022 "Martin Stewart joins us to share the results from the State of Elm 2022 and look at some of the trends."
- May 30th - Project Gren 0.1.0 by Robin H. Hansen (Today I'm announcing the first release of Gren. An Elm-like language that intends to support both frontend and backend development.)
- June 1th - Announcement Release of Simple Iot v0.2.0 by Cliff Brake (Simple Iot is a platform that enables you to add remote sensor data, telemetry, configuration, and device management to your project or product.)
June 6th - Announcement A Monkey Interpreter by Dwayne Crooks (An Elm interpreter for Monkey, a programming language designed by Thorsten Ball.)
June 6th - Elm Radio episode #58 - Elm Store Pattern "Martin Janiczek joins us to discuss a pattern for declaratively managing loading state for API data across page changes."
June 11th - Project Building a CHIP-8 emulator in Elm by Martin Janiczek
June 12th - Project Enclojure by Artem Chistyakov (Enclojure is a Clojure-like scripting language for Elm apps.)
June 15th - Video Hobby scale: making web apps with minimal fuss - A presentation by Martin Stewart at GOTO Aarhus 2022
- June 15th - Podcast Functional and Object-Oriented Programming with Lindsay Wardell by Richard Feldman (Richard and Lindsay talk about their experiences with FP and OOP, and some less obvious differences they've noticed between the two paradigms.)
- June 20th - Project Speak & Spell reproduction in Elm by Andrea Callea
- June 20th - Elm Radio episode #59 - Wrap Early, Unwrap Late "We dive into preventing bugs and making your code more maintainable by wrapping early and unwrapping late."
- June 22nd - Game Graph Bang by Logan Lowder
- June 22nd - Post Understanding UI Components in Elm by Kasper Andersen
- June 24th - Post My first Functional Programming app by Carl Hunter-Roach (Notes from the perspective of an experienced programmer, new to functional programming.)
June 25th - Announcement A milestone for Elm Catalog by Alex Korban (Elm Catalog crossed the threshold of 1300 packages (not counting pre-release, internal etc)! Elm Catalog now lists 1307 Elm 0.19.x packages & 110 Elm tools across all categories.)
June 26th - Video Effect Systems for Mortals - A presentation by Eduardo Morango at Elm Meetup Brazil
- June 26th - Video Declarative Server State - A presentation by Dillon Kearns at Elm Meetup Brazil (Elm Meetup Brazil welcomed Dillon Kearns as he demoed some of the upcoming features on elm-pages v3.)
- June 30th - Project A Chip-8 emulator by Danneu
July 1th - Project Elm Root Defender by beefzilla (An NPM package to prevent browser extensions from crashing Elm apps)
July 2nd - Post ESLint equivalents in Elm by Mario Rogic and Jeroen Engels (Comparing ESLint functionality and the equivalents in the Elm ecosystem)
July 4th - Video The Essence of Functional Programming - A presentation by Richard Feldman at Functional Conf 2022
- July 4th - Elm Radio episode #60 - Building Trustworthy Tools "We discuss how to earn users' trust by giving meaningful feedback and giving predictable results."
- July 18th - Elm Radio episode #61 - Exploring a New Form API Design "We dive into some ideas for a new Form design, pulling in a lot of our favorite Elm techniques to make it safe and intuitive."
July 26th - Project Travelm-Agency 3.0.0 by Andreas Molitor (A new major version of Travelm-Agency 52, an internationalization code generator for Elm.)
July 26th - Game Type Signature by Andy
- July 27th - Project Nethys Search, a search engine for Archives of Nethys by Andreas Lundkvist (A search app for the tabletop RPG Pathfinder 2nd Edition called Nethys Search. Repo available at https://github.com/galdiuz/nethys-search. App available at: https://2e.aonprd.com/Search.aspx)
- July 28th - Video Static analysis tools love pure FP - A presentation by Jeroen Engels at Lambda Days 2022 (Functional programming languages have many benefits that are often explained from the developer's point of view, such as how easy it is to maintain a codebase. But we rarely look at it from the point of view of tools. Static analysis tools try to infer meaning and intent in order to find bugs and code smells, but they can be very hard to write depending on the features of the analyzed language. We will look at how explicitness, the lack of side-effects and dynamic constructs in pure FP languages empower tools to trivially achieve surprising results that would be nearly impossible with other paradigms.)
- July 28th - Video Towards Smart E-Learning Mentor Dispatch - A presentation by Christopher Schankula at Lambda Days 2022 (The McMaster Start Coding program has taught over 26,000 K-12 students programming using Elm over the last five years. Collectively, they have compiled nearly 4 million programs in our online learning platform. The COVID-19 pandemic has necessitated the switch to a fully virtual setup, which continues as schools have strict visitor limits. Virtual learning also necessitates upgrades to the online code compilation and mentoring software we use. In particular, we need to determine when a student is stuck so as to be able to make better use of mentor resources and proactively help students who are struggling. This presentation details data mining efforts to predict metrics such as the length of time that a student is likely to struggle if they are receiving an error in their program, in order to dispatch mentors and help the students who need the most attention.)
- July 28th - Video Functional Parsing for Novel Markup Languages - A presentation by James Carlson at Lambda Days 2022 (With functional languages like Elm that target the browser, one can parse and render both classical and novel markup languages in real time, providing authors a pleasant, zero-config tool for writing and distributing mathematical text. The talk will outline how one designs and builds a fault-tolerant parser that provides high-quality, real-time error messages in-place in the rendered text. As case studies we consider two markup languages: MiniLaTeX, a subset of LaTeX, and L1, an experimental markup with a syntax inspired by Lisp.)
- July 28th - Video An Enigma Machine in Elm - A presentation by Ju Liu at Lambda Days 2022 (The Enigma machine was an encryption device that was used by German forces during WW2 to send secret messages. In this talk, we will explain exactly how the encryption process works and go through an implementation of it in Elm. We will demonstrate how to encrypt and decrypt a message. Then we will go over the weaknesses that made it exploitable by Alan Turing and the other fine folks in Bletchley Park. By the end of the talk, you'll be able to point out all the inaccuracies in "The Imitation Game".)
- July 29th - Post Introducing Elm Editor - a web-based IDE for Elm programs by Michael Rätzel
- August 1th - Elm Radio episode #62 - elm-test v2 with Martin Janiczek "Martin Janiczek joins us to talk about fuzz testing, why it matters, and how the upcoming elm-test v2 changes the way you write fuzzers in Elm."
August 3rd - Project Airsequel by Adrian Sieber (First public beta release)
August 3rd - Post Day 1 of Elm by Eke Enyinnaya Diala
August 7th - Post GSoC 2022 @ Kodi: Mid-Term Evaluation by Mohd. Shaheer
August 10th - Project Chart by Trade Simplr (Interactive Trading platform to trade and analyze in the financial markets, built with Elm.)
August 10th - Announcement Elm in Parcel (Better support for Elm has been release in Parcel, including multiple entry points.)
August 12th - Video Introduction to Elm Part 1 - A presentation by Programming from A to Z
- August 12th - Video Introduction to Elm - Building a Basic Web Application - A presentation by Programming from A to Z
August 14th - Post Notes on Building "XcuseMe: Exercise tracking for real people" by Willy Unterkoefler
August 15th - Game Reweave by King Linsyking (A Chinese style platformer powered by Elm. Implemented with a self-made 2D game engine.)
- August 15th - Elm Radio episode #63 - The Root Cause of False Positives "We explore false positives and negatives in static analysis tools, and how Elm helps us avoid them."
August 16th - Project Announcing Elm Codegen! by Matthew Griffith (Matt Griffith is super excited to announce elm-codegen, an Elm package and CLI tool for generating Elm code!)
August 17th - Project Releasing
elmjs-inspectby Philipp Krüger (Why is your elm.js file so big? Is Elm’s dead code elimination on a particular function not working as you expected? What libraries cost your users bandwidth? Analyse your elm.js file size with this tool.)
August 18th - Post Understanding the design of elm/url by John Kelly
August 20th - Post Designing an Elm component by Alex Esoposting
August 22nd - Post Showing a Playing Card From a Single Suite With Elm by Cristian Salcescu
- August 23rd - Video Introduction to Elm - A presentation by DP Tech Info
- August 24th - Game Sudoku & experiments by David Klemenc (The games are a result of inspiration from Sebastian Lague videos.)
- August 29th - Announcement Alpha release of ElmLand by Ryan Haskell-Glatz (Ryan Haskell-Glatz announced the release of the latest alpha release of @ElmLand_ with a brand new @vite_js powered website, a guide designed for JS folks new to @elmlang, a dark mode AND a cool glowing thingie)
- August 29th - Elm Radio episode #64 - Projects We Wish We Had Time For "We discuss the power of the Elm when paired with developer tools, and we go through our notes to look at Elm tools we wish we had the time to build."
- August 31st - Post Removing an annoyance in elm-review-simplify by Jeroen Engels
- September 7th - Announcement IU wins $300K NSF award to build an open-source ecosystem around heavily used cloud tool by Chris Martin (Exosphere is a 30k lines-of-code Elm application that delivers user-friendly, interactive access to OpenStack-based cloud systems)
- September 9th - Video Getting started with elm-watch - A presentation by Simon Lydell
September 9th - Project Introducing elm-watch: elm make in watch mode. Fast and reliable by Simon Lydell
September 12th - Elm Radio episode #65 - elm-watch with Simon Lydell "Simon Lydell joins us to discuss his new Elm dev server which has a minimalist philosophy and maximal refinement."
- September 13th - Game Space Sim! by Wolfgang Schuster (Getting closer to a point with https://github.com/wolfadex/space-sim where it's actually playable, though still basically alpha. Right now it's basically just a simulation you watch.)
- September 15th - Podcast Software Unscripted: Lamdera with Mario Rogic by Richard Feldman
September 17th - Post Why I chose Elixir and Elm for Picture it by Rogerio Chaves
September 21st - Post Designing Impossible Situations by Jesse Warden
September 22nd - Project scripta.io by James Carlson (Simplified desktop version of https://scripta.io using https://tauri.app.)
September 22nd - Post MEGA: Enchanting decoders (part 1) by Ivan Gori (In this MEGA’s article, we’ll see some useful patterns to discover magic powers hidden inside Elm decoders.)
September 23rd - Video CodeGen with Types, for Humans, by Humans - A presentation by Matthew Griffith at Strange Loop 2022
- September 23rd - Video Diagrammar: Simply Make Interactive Diagrams - A presentation by Pontus Granström at Strange Loop 2022
- September 26th - Elm Radio episode #66 - elm-codegen with Matthew Griffith "Matthew Griffith joins us to discuss elm-codegen, a tool for generating Elm safely and conveniently."
- October 3rd - Video [elm] Building a Simple Calculator - A presentation by theteachr
October 4th - Project 👋 Hello, world! by Ryan Haskell-Glatz (What is Elm Land? Learn more about the project's motivation, goals, and how we can get there together!)
October 6th - Post Introducing Elm as a frontend contender by Kim Tore Jensen (Replacing React with Elm as our frontend programming language brings risks, rewards, and lots of developer happiness.)
October 7th - Post Elm + Tauri by James Carlson
October 10th - Elm Radio episode #67 - Elm at a Billion Dollar Company with Aaron White "We discuss how betting on Elm has paid off at Vendr and get a CTO's perspective on using Elm at scale."
- October 12th - Presentation Yet another way to manage shared state in Elm SPAs by Jeremy H. Brown
October 12th - Project Elm-explorations/test 2.0.0 released! by Martin Janiczek (Janiczek is happy to announce the 2.0.0 version of elm-explorations/test has been released! In it you’ll find a nicer-to-use Fuzz module API, the
andThenfunction, and lots more.)
October 16th - Game 2048 - A complete clone of the classic game by Dwayne Crooks
October 24th - Post Elm 3D Pool Game Collaboration by Jared M. Smith (I wrote about my experience collaborating with @unsoundscapes on building a 3D pool game in Elm.)
- October 24th - Elm Radio episode #68 - Elm and ADD "We discuss how Elm is a powerful tool for people with ADD, and how lessons learned from ADD can benefit people who don't have ADD."
- October 26th - Video Fullstack happiness using the regal stack - A presentation by Jesse Warden at Open Slava '22
- October 26th - Project Stringy - The string transformer by Luca Mugnaini
- October 29th - Video What’s new in elm-watch 1.1.0 - A presentation by Simon Lydell
November 1th - Post SVGs as Elm Code by Tessa Kelly
November 7th - Elm Radio episode #69 - Types vs. Tests "We discuss the role of types versus tests, and whether they complement each other or make the other obsolete."
November 8th - Post Much, much faster fixes by Jeroen Engels
November 12th - Video Designing for Programmer Delight - A presentation by Richard Feldman at Software You Can Love 2022
November 13th - Project Mammudeck by Bill St. Clair (I've been having a blast writing Elm again, after a two-year hiatus. I wrote billstclair/elm-dynamodb and am using it to make a DynamoDB.AppState module, so I can have global persistent state for #mammudeck)
November 14th - Project Announcing VendrInc/Elm-GQL! by Matthew Griffith (Matt Griffith is announcing vendrinc/elm-gql! A tool for generating Elm modules from GraphQL queries and mutations.)
November 15th - Project Help test the new npm elm package! by Simon Lydell (Me, @supermario and @evancz (with the help of some more folks) are working on a new version of the elm npm package.)
November 15th - Post Data Modeling Resources in Elm by Joël Quenneville (Some of the best Elm data modeling resources around the web.)
November 15th - Game Liikennematto released into early access! by Matias Klemola
- November 16th - Game Drops by Gábor Kerekes (Drops is an implementation of Puyo Puyo by Dividat.)
- November 16th - Post Virtual DOM: What problem does it solve? by Marcio Frayze (A post about virual DOM and the declarative approach of Elm to handle it.)
- November 17th - Presentation Elm, If it compiles it works! by Jakob Ferdinand Wegenschimmel (A presentation written in elm-land that anyone can use. Code, Live presentation)
November 17th - Post Slightly more advanced guide to making HTTP calls in Elm by azurewaters
November 19th - Video Elm language for learning functional programming - A presentation by Kajetan Świątek at Devoxx Poland 2021 (Functional programming is still a mystery for many developers. There is an overwhelming amount of math and theory surrounding it, to the point of scaring people away. But it turns out, that with the right tools, it is possible to learn FP and to get productive fast!)
- November 21st - Elm Radio episode #70 - elm-gql with Matthew Griffith "Matthew Griffith joins us to share his new type-safe GraphQL tool, and to compare the query builder and query generator approaches."
November 22nd - Post Contributing to devenv by Brian J. Cardiff
November 28th - Post Getting Tailwind to Work with Elm Book by Jesse Warden
November 30th - Announcement Elm-Widgets by Georges Boris (Elm-Widget, a collection of stateless widgets designed to make your experience building elm applications easier and even more delightful, was annunced at the Elm Remote Meetup)
- November 30th - Presentation Thought experiment: Hiding implementation types in Elm by Jeremy H. Brown
- December 1th - Video Day 1: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 1! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
- December 1th - Project Fractale by Adrien Dulac (Fractale is part of the “productivity” or “asynchronous communication” tools family. As a developer, I am satisfied with the organization and collaboration tools built around Git, such as Github/Gitlab/Gitea. But for human beings who are not developers or strangers to these tools, they remain too complex and ill adapted...)
- December 2nd - Video Day 2: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 2! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
December 2nd - Post Custom Focus Rings by Tessa Kelly
December 2nd - Post Learn functional programming with Advent of Code! ☃️ by Ryan Haskell-Glatz
December 4th - Video Day 4: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 4! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
- December 4th - Video Day 3: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 3! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
- December 5th - Video Day 5: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 5! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
December 5th - Tutorial [2022 Day 4] [Elm] Letting the computer find a correct predicate (not AI) by Martin Janiczek
December 5th - Elm Radio episode #71 - Deliberate Practice "We discuss deliberate practice and how it can help you hone your craft, and make you even better at using Opaque Types."
- December 6th - Video Day 6: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 6! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
December 6th - Post Gaining insight into your codebase with elm-review by Jeroen Engels
December 7th - Video How to do Property based Testing Shrinkers Right - A presentation by Martin Janiczek at Haskell eXchange (Property-based testing (PBT) is a valuable tool in the functional programming world: it generates test inputs for you (finding tricky edge cases you wouldn't be able to find manually) and lets you specify and verify laws and invariants about your code with ease. Virtually all PBT tools nowadays shrink the failing inputs to a minimal (and thus much more helpful) counterexample before presenting it to you. Implementing shrinkers can be tricky, though. I'll walk through the common shrinking algorithms (seen in QuickCheck, Hedgehog, ScalaCheck, etc.), their inherent problems, and most importantly: how to implement shrinking in a way that doesn't suffer from them!)
- December 8th - Video Look Ma no graphics card! Software-based 3D rendering in Elm - A presentation by Julian Antonielli at Elm Online Meetup
- December 8th - Video Day 8: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 8! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
December 8th - Project astro-integration-elm by Angus Findlay (I've created an Elm integration for Astrodotbuild, which lets you render Elm islands server-side!)
December 9th - Video Day 9: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 9! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
December 9th - Post Presenting Styleguide Colors by Tessa Kelly
December 11th - Video Day 10: Learn Elm with Advent of Code - A presentation by Ryan Haskell-Glatz (Advent of Code 2022, Day 10! This series is designed for anyone new to functional programming. We use a language called Elm to complete these puzzles together. All the solutions and links are available below!)
December 12th - Project Gren 0.2: Hello, NodeJS by Robin H. Hansen
December 12th - Post Make your own TEA (The Elm Architecture) by Noah
December 15th - Post Beware of integer division in Elm 0.19.1 by Dwayne Crooks
December 17th - Project Elm solutions for the 2022 Advent of Code by Bill St. Clair
December 18th - Post Elm-common-tests library + test results across the ecosystem by Martin Janiczek
December 19th - Elm Radio episode #72 - 2022 Holiday Special "Matthew Griffith and Mario Rogic join us to ring in the New Year and look at trends in Elm this year and looking forward next year."
December 20th - Project 🌱 Building a better Elm Land by Ryan Haskell-Glatz
December 22nd - Post Notes on Elm programming language by Serhii Riabokon
December 23rd - Video Hot reloading the Simple IoT UI - A presentation by Simple IoT
- December 30th - Project Competition Tracking by Vladimir Kirienko (A web app for tracking gliding competitions using Haskell and Elm, with websockets!)
Some of the companies that hired Elm developers in 2022
For more job related news, susbscribe to the Elm Weekly newsletter or to the #jobs channel in the Elm Slack.
Partial list of companies that use Elm
Ableton ⬩ Acima ⬩ ACKO ⬩ ActiveState ⬩ Adrima ⬩ AJR International ⬩ Alma ⬩ Astrosat ⬩ Ava ⬩ Avetta ⬩ Azara ⬩ Barmenia ⬩ Basiq ⬩ Beautiful Destinations ⬩ BEC Systems ⬩ Bekk ⬩ Bellroy ⬩ Bendyworks ⬩ Bernoulli Finance ⬩ Blue Fog Training ⬩ BravoTran ⬩ Brilliant ⬩ Budapest School ⬩ Buildr ⬩ Cachix ⬩ CalculoJuridico ⬩ CareRev ⬩ CARFAX ⬩ Caribou ⬩ carwow ⬩ CBANC ⬩ CircuitHub ⬩ CN Group CZ ⬩ CoinTracking ⬩ Concourse CI ⬩ Consensys ⬩ Cornell Tech ⬩ Corvus ⬩ Crowdstrike ⬩ Culture Amp ⬩ Day One ⬩ Deepgram ⬩ diesdas.digital ⬩ Dividat ⬩ Driebit ⬩ Drip ⬩ Emirates ⬩ eSpark ⬩ EXR ⬩ Featurespace ⬩ Field 33 ⬩ Fission ⬩ Flint ⬩ Folq ⬩ Ford ⬩ Forsikring ⬩ Foxhound Systems ⬩ Futurice ⬩ FörsäkringsGirot ⬩ Generative ⬩ Genesys ⬩ Geora ⬩ Gizra ⬩ GWI ⬩ HAMBS ⬩ Hatch ⬩ Hearken ⬩ hello RSE ⬩ HubTran ⬩ IBM ⬩ Idein ⬩ Illuminate ⬩ Improbable ⬩ Innovation through understanding ⬩ Insurello ⬩ iwantmyname ⬩ jambit ⬩ Jobvite ⬩ KOVnet ⬩ Kulkul ⬩ Logistically ⬩ Luko ⬩ Metronome Growth Systems ⬩ Microsoft ⬩ MidwayUSA ⬩ Mimo ⬩ Mind Gym ⬩ MindGym ⬩ Next DLP ⬩ NLX ⬩ Nomalab ⬩ Nomi ⬩ NoRedInk ⬩ Novabench ⬩ NZ Herald ⬩ Permutive ⬩ Phrase ⬩ PINATA ⬩ PinMeTo ⬩ Pivotal Tracker ⬩ PowerReviews ⬩ Practle ⬩ Prima ⬩ Rakuten ⬩ Roompact ⬩ SAVR ⬩ Scoville ⬩ Scrive ⬩ Scrivito ⬩ Serenytics ⬩ Smallbrooks ⬩ Snapview ⬩ SoPost ⬩ Splink ⬩ Spottt ⬩ Stax ⬩ Stowga ⬩ StructionSite ⬩ Studyplus For School ⬩ Symbaloo ⬩ Talend ⬩ Tallink & Silja Line ⬩ Test Double ⬩ thoughtbot ⬩ Travel Perk ⬩ TruQu ⬩ TWave ⬩ Tyler ⬩ Uncover ⬩ Unison ⬩ Veeva ⬩ Vendr ⬩ Verity ⬩ Vnator ⬩ Vy ⬩ W&W Interaction Solutions ⬩ Watermark ⬩ Webbhuset ⬩ Wejoinin ⬩ Zalora ⬩ ZEIT.IO ⬩ Zettle
This list is extracted from several sources, such as elm-companies, Stackshare.io, blog posts, videos, talks, atc.
This is all. See you in 2024!
Top comments (4)
Great !! ... Thank you for sharing dear Luca !! 👍😎
Wow, what accurate recap. Thank you for this hard work
Don't have much to add other than a nice informative post and kudos for keeping these track records about Elm. It is great to see that Elm is still going strong.
Have you guys tried adadot.com/ yet? I think it might be a fun experiment for 2023, let's see what you think hehe!
Some comments have been hidden by the post's author - find out more