Michael Homer
mwh.nz
Michael Homer
@mwh.nz
I make programming languages and interfaces at Victoria University of Wellington
PDF: mwh.nz/pdf/mplr25

Live demo: mwh.nz/demos/mplr2025 (generate freestanding single-file Java, Haskell, JavaScript programs embedding a program as the same AST)

Implementation, and interpreters built on a shared parser embedded this way in Java, Haskell, JavaScript, and Grace: github.com/mwh/wg
October 13, 2025 at 1:54 AM
Anecdotally, this is still a very live topic among the wrong Telegram groups and YouTube rabbit holes and they’re egging each other on to actually do it.
September 30, 2025 at 6:49 AM
Reposted by Michael Homer
ALSO: We're hosting LIVE office hours this week! Bring questions/uncertainties about live programming & submitting to the workshop.

- Wed, June 18, 2025, 6:00 – 8:00 PM (PDT, UTC-7)
- Thu, June 19, 2025, 11:00 AM – 1:00 PM (PDT, UTC-7)

Visit liveprog.org#resources for local times & Zoom links. 🙏
June 16, 2025 at 7:31 AM
Mages of Mystralia has Noita-like programmable spells with an interesting hex layout for the runes. An example half-way down magesofmystralia.fandom.com/wiki/Spells and youtube.com/watch?v=XGsb...
Spells
Spells are one of the core elements of the game Mages of Mystralia and players will control Zia, who was exiled for her magical abilities. On her journey through the world of Mystralia, she'll discove...
magesofmystralia.fandom.com
November 26, 2024 at 6:07 PM
One variant of the rewriting system has "gravity" to instigate that movement for selected terms. Another uses the Manhattan-closest suitable spawn point for a term to the producing reaction. They make for interesting behaviour but it's not clear it's useful, even relative to the rest of the system.
November 24, 2024 at 9:13 AM
I explore versions of semantic layout quite a lot, but at least in two dimensions the interference usually overwhelms. The really interesting versions seem like they would use motion to make distance/relative position innately meaningful, but I've never hit on the right way to do that coherently.
November 24, 2024 at 9:13 AM
And also an ongoing, esoteric prototype on the distance side: it's term-rewriting on multisets of terms, where clusters of adjacent grid cells make up a multiset, and distant groups are independent until they touch. It's very impractical but distance (gaps) are semantic: ecs.vuw.ac.nz/~mwh/anatile/
November 24, 2024 at 9:13 AM
I have this system, with semantic layout: mwh.nz/pubs/paint2022 & michael.homer.nz/Publications...

Arguably though it is creating hidden wires through adjacency, although that's not really the point of it (or how it works). The semantic part is "above/below", so there's no arbitrary positioning.
Interleaved 2D Notation for Concatenative Programming
Concatenative languages use implicit argument passing to provide a concise expression of programs comprising many composed transformation functions. However, they are sometimes regarded as “write-only...
mwh.nz
November 24, 2024 at 9:13 AM
Think of it as he can resign immediately before taking the electorate seat, triggering a replacement from the list, then take up the byelection seat as though he was never there.
October 20, 2023 at 4:31 AM