Shoddy Documentation
Everything here, organised by what you came for
Useless Things Made Useful Through Skill
The mark’s three threads enter loose and run out woven: rag stock in, cloth out. The mark, the colours, and why they are these colours and no others, are in the heritage of the name.
Shoddy is a small programming language that looks like old-school
BASIC. You build programs by combining values instead of changing them
— a style called purely functional. For readers who already know
languages: friendly typed syntax on the surface (parenthesized calls,
infix operators, Let, records, Select Case
pattern matching), compiled by the mill —
Shoddy’s own compiler-and-runner — onto .NET, through a
concatenative (Forth/Joy-style) stack core that remains a legal dialect
you can write directly. Python’s layout, BASIC’s keywords,
Joy’s soul.
Nothing changes in place. Let names a value once and
never renames it. An “update” returns a new value, and
repetition is a function calling itself — or
Map/Filter/Fold doing it for you.
The whole surface also translates down to stack code you can write
yourself. The same Square is
Def Square(n As Number) As Number / n * n, or
Def Square ( Number -- Number ) / Dup *, and
both are Shoddy. The standard library is written in that same language:
one folder of Shoddy source per machine — a
library, in Shoddy’s mill vocabulary — from
seq and str out to neural nets and
TCP/IP.
Mungo Caverns, a purely functional reimagining of our favourite text adventure — and Devil’s Dust, the language’s own name-story animated, with a tuning console that goes to eleven.
Mungo Cavernsthe cave crawl, purely functional — graded against the original’s transcripts
Devil's Dustflocking wool over the devil’s drum — live console, machine-room drone
One download is the whole toolchain. The
VS Code extension carries the mill and every
machine inside it. Install the .NET 10 runtime (the runtime, not
the much larger SDK), install the .vsix extension file,
open any folder, and run. There is nothing to clone, nothing to build,
and no settings to change. A bare Include "seq.shoddy"
resolves anywhere, and breakpoints, variables, and the call stack work
out of the box. Setup is two steps.
The other download is for your AI. The same release page carries sparky — the reckoner calculator packaged as an MCP server. MCP is the standard way an AI assistant launches a tool and talks to it, and sparky is one self-contained executable per operating system: no repository and no .NET install at the far end. Point Claude Desktop, Claude Code, or any MCP client at it, and the model computes with the whole standard library instead of guessing.
And a third, for the tree itself.
Fettler is the file, search and edit tools an
assistant actually needs: find, search, read, write, edit, replace,
move, copy, delete, and run a declared task. It is one program with an
MCP front end and a command line. No shell sits anywhere between
it and the file, and every path is bounded to folders you
declare. So the shell quoting rules that differ on every machine stop
being paid on every operation. fettle doctor says what is
wired up and what still goes round it.
A mill is not only a console program. Weaving is Shoddy’s word for compiling, and the woven result is an ordinary .NET program file. That same file runs at a terminal, inside an app, and from any .NET language — whole and unmodified, with one page of hosting behind all of it.
mill weave, then dotnet x.dll: a woven program is an ordinary .NET assembly
Build a real program from an empty folder, learn the method for driving the same craft with an AI assistant, then watch that method run at full size.
Complete programs woven from the machines. Each one splits into a pure core that only computes — tested automatically, no window needed — and a thin shell that only shows. Click through for the full write-up on each one, or start at the mills catalog.
The standard library, one folder of Shoddy source per machine: graphics, sound, statistics, neural nets, an optimizer, keyed files, and TCP/IP networking — batteries included. Full word references live in the machines catalog.
Print("HELLO") to a
grade book that keeps its roster on disk, with BASIC-veteran notes at
the end. Install first: Setup is two steps,
because the VS Code extension carries the
whole toolchain with it. The Toolchain page is
there when you want the mill on a command line.