Java · Elm · matsuo.pl

Languages, compilers, and the tools around them.

I build programming-language implementations and developer tooling — in Java on GraalVM, in Elm, and other languages — plus the apps running on matsuo.pl.

The elm-lang ecosystem

An Elm language implementation and the tools and demos built around it.

🌳

elm-lang

An implementation of the Elm language in Java 25 on GraalVM Truffle: one front end feeding four backends (JIT interpreter, JavaScript, bytecode VM, WebAssembly), a Hindley–Milner type checker, LSP, REPL and a package manager.

✏️

elm-editor

An Ellie-style in-browser code editor whose evaluator is a from-scratch Elm interpreter written in Elm itself — with syntax highlighting, autocomplete, shareable permalinks and a time-travel debugger.

⚔️

elm-rts

A small but genuinely playable real-time strategy game in Elm — procedural maps, an algorithmic AI, an economy to build and an army to raise, with a post-match rating and a power-over-time chart.

📊

vega-examples

A live, in-browser Vega-Lite editor written in Elm. Write Elm against a compact VegaLite module, it's interpreted in the browser, and the resulting chart is drawn by vega-embed — re-rendering on every keystroke.

🎨

elm-bootstrap-theme-builder

A focused in-browser tool for building a custom Bootstrap 5.3 theme as a single CSS file — edit the --bs-* variables on the left, see real Bootstrap restyle live in an iframe on the right. No Sass, no build step.

matsuo.pl apps

Applications running live on matsuo.pl.

🃏

Tichu Online

A multiplayer implementation of the Tichu card game — play with friends in the browser.

〰️

Rhythmical Lines

Wacław Szpakowski's mazelike drawings, each composed from a single continuous line — explored interactively.

📔

Diary

A personalized diary application.