The following is my vision statement submitted in advance of the Substrates Workshop held in June as part of <Programming> 25, alongside numerous other vision statements from attendees. It's been adapted from the LaTeX with minor referencing edits. Summary What is (and isn't) a substrate? Ontology of state with an authoring tool (PLs automate the … Continue reading Substrates ’25 Vision Statement
Category: Unix
Notes on the “late binding” of Virtual Memory, etc.
When a DLL/shared object is loaded into process virtual memory, it competes for space with the process' code and data, so its base address is knowable only at load-time. The DLL has metadata ("relocations") describing the address references in its code, and the loader uses this metadata to go through all these references and patch … Continue reading Notes on the “late binding” of Virtual Memory, etc.
Unix Commitments, Formalised (part 2)
Commitment to a particular syntax/semantics Since my Smalltix epiphany last week I've been having something of an identity crisis. The thing I want is Notational Freedom, in partial fulfillment of the dictum that we can Use The Right Tool For The Job. I notice that something like OMeta is specifically designed to support Syntactic Freedom, … Continue reading Unix Commitments, Formalised (part 2)
Unix Commitments, formalised (part 1)
Consider the basic pipeline of programming under Unix: source code S is compiled into a binary B, which is then loaded into a process R, which then runs for the length of its run time. (Note: this would induce a parallel analysis via the Unix-Smalltalk connection, where method source S is compiled into a CompiledMethod … Continue reading Unix Commitments, formalised (part 1)
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
Introducing drw: a “useful tool” to solve a “practical problem”.
(I have gripes that I need to get out of my system. I think that documenting my approach to a coding task could demonstrate some points I want to make, and help me give some ideas solid grounding.) Motivation Existing solutions for drawing graphics suffer from numerous technical, performance and usability flaws. (probably—I didn't bother … Continue reading Introducing drw: a “useful tool” to solve a “practical problem”.
There is only one OS, and it’s been obsolete for decades
Consider the three operating system families we are forced to choose from: Windows, Apple, Other (which I shall refer to as "Linux" despite it technically being more specific). All of these are built around the same foundational concepts, those of Unix. Android sits atop the Linux kernel, with iOS (as well as Mac OS) atop … Continue reading There is only one OS, and it’s been obsolete for decades