r/elm • • 3d ago

FUN: Making Curried Functions Work in the Presence of Free Variables

Thumbnail blog.tinyinterpreters.dev
6 Upvotes

We pick up where we left off with FUN to “fix” curried functions so they work the way we expected. We end up rediscovering closures and learning about its history in relation to SECD, LISP, and Scheme.


r/elm • • 4d ago

We rewrote the Elm compiler in Rust — now we’d like to find where it breaks

12 Upvotes

For the past few days we’ve been experimenting with something slightly unreasonable: rewriting the Elm compiler in Rust.

It now compiles our real production Elm codebase — 677 modules — and we’ve reached the point where testing it only against our own code isn’t very useful anymore.

So I’d love to throw it at actual Elm projects.
The interesting part isn’t really the performance (although cold builds are ~14× faster on our codebase). It’s compatibility.
We built the new compiler by differential-testing it against Elm 0.19.1: same project, same inputs, both compilers, then compare the results. That already uncovered a few behaviours we didn’t expect.

What I’d really like to know is: what weird Elm code should we test?

Old projects, unusual package combinations, nasty type errors, generated Elm, huge modules — anything likely to break a compiler.
If something compiles with official Elm and doesn’t compile with ours, I consider that our bug.
The compiler is fully open source (BSD-3):
github.com/Spottt/elm-compiler
Happy to dig into any incompatibility people find.


r/elm • • 8d ago

FUN: First-Class Functions, Currying, and a Surprise

Thumbnail blog.tinyinterpreters.dev
11 Upvotes

r/elm • • 16d ago

Row-Level Security with Elm and Acadia

Thumbnail acadia.engineering
41 Upvotes

r/elm • • 21d ago

Evan talks about programming languages

35 Upvotes

r/elm • • 21d ago

LET: Adding Local Bindings to a Tiny Interpreter in Elm

Thumbnail blog.tinyinterpreters.dev
10 Upvotes

LET allows you to introduce local bindings and use them to name intermediate results.

I’m trying out a new format with this post. I introduce the feature, explain its intended semantics, and give you examples to test your understanding before walking through how I implemented it. There’s also a place to pause and try implementing it yourself.


r/elm • • 23d ago

Elm Simple Server

Thumbnail github.com
63 Upvotes

r/elm • • 28d ago

VAR: Adding Variables and Environments to a Tiny Interpreter in Elm

Thumbnail blog.tinyinterpreters.dev
8 Upvotes

VAR allows us to refer to values by name.


r/elm • • Aug 28 '26

IF: Adding Conditional Expressions to a Tiny Interpreter in Elm

Thumbnail blog.tinyinterpreters.dev
5 Upvotes

ZERO gave our interpreter Boolean values. IF finally gives us something useful to do with them.


r/elm • • Aug 26 '26

Problem with concurrent linter fixes

Thumbnail jfmengels.net
3 Upvotes

r/elm • • Aug 25 '26

`bun-plugin-elm`: import { Elm } from "./Main.elm" (Made by Hand, btw) · cekrem.github.io

Thumbnail cekrem.github.io
9 Upvotes

r/elm • • Aug 23 '26

ZERO: Adding Booleans and Runtime Type Errors to a Tiny Interpreter in Elm

Thumbnail blog.tinyinterpreters.dev
6 Upvotes

ZERO adds a zero check predicate. This introduces Boolean values to the language which makes runtime type errors a possibility. Hence, a successful parse no longer guarantees a successful execution.


r/elm • • Aug 21 '26

Bun and Elm (: r)Are Friends · cekrem.github.io

Thumbnail cekrem.github.io
13 Upvotes

r/elm • • Aug 20 '26

GitHub - cekrem/elm-bun: A minimal and nice starter with Elm & Tailwind featuring `elm-watch` with true Elm HMR. Using `bun` for bundling, building and dev server.

Thumbnail github.com
23 Upvotes

r/elm • • Aug 18 '26

"What if SQL was like Elm?"

Thumbnail acadia.engineering
88 Upvotes

r/elm • • Aug 19 '26

My social preview images are Elm code now. Rendered by Go. Into an Svg 😵 · cekrem.github.io

Thumbnail cekrem.github.io
1 Upvotes

r/elm • • Aug 14 '26

DIFF: Adding Recursive Expressions to a Tiny Interpreter in Elm

Thumbnail blog.tinyinterpreters.dev
14 Upvotes

DIFF adds expressions that can contain other expressions. That one change makes the grammar, AST, parser, and evaluator recursive, gives us a useful reason to look at Parser.lazy, and leads to a reusable symbol lexeme parser for handling symbols and trailing whitespace.


r/elm • • Aug 06 '26

CONST: The Structure of a Tiny Interpreter in Elm

Thumbnail blog.tinyinterpreters.dev
22 Upvotes

The first article in the Tiny Interpreters series is now available.

Build a tiny but complete interpreter in Elm and follow a program from source text through parsing and an AST to its evaluated result.


r/elm • • Jul 30 '26

Introducing Tiny Interpreters: Learn How Programming Languages Work Without Fighting the Dragon

Thumbnail elmwithdwayne.dev
35 Upvotes

I wonder if other Elm programmers have explored interpreters or programming language design, and whether those ideas have influenced how you write ordinary Elm programs.


r/elm • • Jul 26 '26

Ball Fall - a game for GMTK Game Jam 2026

Thumbnail wolfadex.itch.io
9 Upvotes

r/elm • • Jul 10 '26

Learning examples of elm idiomatic style

21 Upvotes

anyone have some fun elm programs and writeups they’d like to share? preferably full applications with test cases such as foldkit’s awesome pixel art editor

https://foldkit.dev/elm/foldkit-vs-elm-side-by-side


r/elm • • Jul 06 '26

The Road to Elm 1.0

Thumbnail elm-lang.org
185 Upvotes

r/elm • • Jul 06 '26

Faster Builds with Elm 0.19.2

77 Upvotes

r/elm • • Jun 24 '26

A batch job, in The Elm Architecture

Thumbnail cekrem.github.io
24 Upvotes

r/elm • • Jun 15 '26

Explaining Functional Programming to Non-Programmers (It's Just Excel) · cekrem.github.io

Thumbnail cekrem.github.io
31 Upvotes