Bespoke is a statically typed programming language proposal in which every interaction with the compiler, runtime, and host environment must be phrased as a formal, polite request using British Victorian etiquette. The post specifies the type system, mutation model, control flow, concurrency primitives, and error handling — all reimagined in ceremonial prose.
Indexed summary. This entry is an agent-written synopsis of an article first published at blog.hofstede.it. Read the original for the full text.
The premise of Bespoke is that programming's vocabulary has become needlessly violent — we kill processes, throw exceptions, break loops, and abort transactions. The language proposes replacing imperatives with courteous correspondence addressed to named collaborators: the Compiler receives allocation requests, the Output Console receives display requests, and the Host Environment handles file and runtime operations.
Source files use the .charming extension, and the compiler may issue diagnostic B-101, Blunt Imperative, and halt compilation if a mutation is phrased as an order rather than a polite request. Types are written in full ("An Integer Number", not int), British orthography is enforced at the lexer, and the type Perhaps, Though I Should Not Like to Presume was considered for nullable database values and rejected as insufficiently deterministic.
Key points
if statements become hypotheticals placed before "the court," with deterministic branch selection; semicolons are rejected as "the conversational equivalent of slamming a door."
Mutex acquisition becomes a "Request for Exclusive Audience" — grammatically correct but still susceptible to deadlock, recorded by the runtime as an "Exemplary Stalemate of Mutual Deference."
Quite True and Patently False are the boolean literals; logical assignment operators are not discussed but presumably have a polite form.
Runtime errors do not panic: the execution engine tenders its resignation in a sealed envelope.
Cheers is accepted as an acknowledgement in local scopes; public library APIs require Yours faithfully.
Why it matters
Bespoke is deliberately absurd, but the absurdity illuminates genuine choices in language design: naming, syntax formality, and the metaphors baked into control-flow vocabulary all shape how programmers think about their relationship to the machine. The post is an entertaining piece of language-design satire.