The Unix Binary wants to be a Smalltalk Method, Not an Object

(Update 2025-10-20: I developed these ideas into an Onward! Essay (paper, talk, poster).) (Update 2025-05-13: I see a lot of traffic! I recently got part of Squeak By Example's SBECrossMorph>>horBar working, see this github repo.) Much of the appearance of commitments in programming comes from how programming systems live within the Unix Paradigm. It's very … Continue reading The Unix Binary wants to be a Smalltalk Method, Not an Object

The Commitments-As-Contracts School of PL Philosophy

(Previously in this series: Isn't late-binding inevitable?) The history of all hitherto existing programming is a history of commitments that are now obsolete. Why does programming suck? Why can't we have nice things? This could be designated as the central question of Programming Hamartiology, i.e. the origin of Sin in the world of programming. My … Continue reading The Commitments-As-Contracts School of PL Philosophy

My LaTeX Workflow, Reminder Notes, and Grumblings

Earlier this year, making my final corrections to my PhD dissertation hammered home the gripes I have about LaTeX, which I periodically grumble about every time I submit a paper, and then forget in relief before the cycle begins again. Like most programming languages, I have a mixed relationship with LaTeX. I recognise it for … Continue reading My LaTeX Workflow, Reminder Notes, and Grumblings

Five Heuristics Guiding My Research Interests

(Alternate title: Five Theses Against The State of Programming?) In summary, they are: Premature Commitment delenda est. Implementation, not design, is the bottleneck. Seek the appropriate level of generality. Transcend the ancestral environment. Code is an optimisation of manual change. 1. Premature Commitment delenda est Everything should be malleable and reversible by default; the subtraction … Continue reading Five Heuristics Guiding My Research Interests