Back to browse
GitHub Repository

Wirewright is an experimental symbolic physics environment

19 starsCrystal

Wirewright, an experimental symbolic physics environment

by homonoidian·Jun 22, 2026·3 points·0 comments

AI Analysis

●●●BangerWizardryBig BrainBold Bet

Structure-is-computation paradigm with 1,699 commits exploring alternatives to OOP and functional programming.

Strengths
  • Unified term system where same structure acts as data, state, code, and UI simultaneously
  • Simulation-based execution model replaces traditional evaluation with physics-like timesteps
  • New MuSoma frontend demonstrates calculator and bouncing module examples with video demos
Weaknesses
  • Linux-only support with audio and networking features marked as TODO
  • Explicitly not solving practical problems limits immediate real-world applicability
Target Audience

Programming language researchers, PL theorists, experimental computing enthusiasts

Similar To

Smalltalk · Conway's Game of Life · Term rewriting systems

Post Description

The idea with Wirewright is to treat programs and algorithms as physical mechanisms, as machines or societies of machines inhabiting an immutable symbolic world, and time-step the latter to see what happens. This last part in particular reminds me of cellular automata.

Said differently, in Wirewright, programs are modeled as "nouns" or "societies" of interacting "nouns" (think data structures). The world is then subjected to laws of physics -- symbolic physics; which is the only "verb" here (think function). Therefore, in Wirewright, we say that, in a sense, algorithm equals structure and the evolution of structure equals computation. I tend to shorten this to "structure is computation", but this may be incorrect if viewed in isolation.

Now, I guess you're wondering what Wirewright actually is. In fact, I see the rules here state that I must tell you what Wirewright is, plainly and clearly. I will try, but beware that at the end of the day, I know as little as you do :^) My hands write, my brains ponder.

It's hard for me to say definitively what Wirewright is. Please see the README for several attempts of mine to answer this question. Please see the tutorial(s) if you're interested enough to try and infer that yourself. I'm still not sure the README or the tutorial(s) are answering the exact question, though; I had no feedback yet on most of my work on Wirewright, so any feedback is welcome, other than, I guess, "I don't understand what this is"; this kind of feedback I can generate myself, no offense :^)

If there wasn't a public GitHub repo and if I hadn't made a few announcements here and there already, you'd think I'm developing the project in secret. This kind of stuff is not something you ordinarily talk about, you see, especially "in the wild"; or else you'd be quickly labeled eccentric or outright crazy.

Anyway. Wirewright is not a framework, not a UI toolkit, not an IDE. It's not a programming language either. I think I'm trying to explore the intersection of different things here, such as cellular automata, term rewriting, symbolic computation, dataflow, etc. I'm also prone to veering off for pages and pages into a genre one could call "folk biology"; biology and especially neurobiology is a huge inspiration for me. Inspiration doesn't mean copying or formal study, of course. In fact, if there are any biologists here, please "shut down" your eyes and ears and all other sensory organs if you decide to explore the depths of the project :^) For me, when I see something interesting in biology, I think, in excitement, "Oh, I want to do that too, I don't care how!"

The project has been evolving more or less organically, along with me, so to speak, subsuming a lot of my ideas (but mostly the ideas of others; e.g., Varela, Maturana, Wolfram), and mixing them. I'd say it's a playground of mine which, over the years, has become consistent enough for me not to fear trying to tell the world about it. That is, about two years ago, Wirewright was an amorphous blob I couldn't even describe with analogies. Now I can at least try analogies. All this "symbolic physics" stuff is the product of my most recent work in recognizing where the project actually appears to be heading.

Now, as a final disclaimer, please note I'm an amateur in all of the things I'm talking about, from programming to biology to philosophy. So maybe all of this is well-trodden grounds, and I'm coming up with these words and ideas for nothing, and what I'm saying is stupid. Maybe it is. Regardless, I hope at least the synthesis looks interesting to some of you, even if the exact wording and my little philosophy intermissions here and there feel a bit off.

Sorry for the long text.

Similar Projects

AI/ML●●Solid

An experimental tensor DSL/compiler with explicit scheduling

Three-concept scheduling model targeting FlashAttention, but generated code isn't performant yet.

Big BrainBold Bet
loganboyd
5120d ago
Design●●Solid

Weird Clocks

Twelve impractical clocks that are fun to explore for five minutes.

Eye CandyRabbit HoleCozy
vunderba
53192mo ago
Open Source●●Solid

OpenMix, open-source computational framework for formulation science

RDKit handles molecules; this handles mixtures — a genuine infrastructure gap.

Niche GemBig Brain
vijayvkrishnan
322mo ago