What I’ve Learned From Forth Haiku Thus Far

5 views
Skip to first unread message

Paul Tarvydas

unread,
Mar 18, 2026, 11:05:56 AM (13 days ago) Mar 18
to pi...@googlegroups.com

Two stage compilation. Why is this important? First of all, it's very simple to do. If you know how to use a dictionary and concatenate strings, you have most of this technique.
This technique opens new doors for approaches to creating machine code,  like building custom notations ... - I think that this programming pearl should be in every programmer's toolbelt


What I’ve Learned From Forth Haiku Thus Far https://open.substack.com/pub/programmingsimplicity/p/what-ive-learned-from-forth-haiku?r=1egdky&utm_campaign=post&utm_medium=web&showWelcomeOnShare=true

pt

Raoul Duke

unread,
Mar 18, 2026, 11:21:28 AM (13 days ago) Mar 18
to pi...@googlegroups.com
> Back when Alan Kay was at his Viewpoints Research Institute, researchers there worked on a project called STEPS, which attempted to build a fully-working desktop environment with a minimal amount of code by developing domain-specific languages for implementing each part of the system. If I remember correctly, they were able to implement a complete desktop environment with just 20,000 lines of code, most of it written in domain-specific languages. The purpose of STEPS was to develop a system that was just as understandable as the Apple II and Commodore 64 and MS-DOS environments of the past, yet was just as feature complete as modern desktop environments, which are implemented in hundreds of thousands or even millions of lines of code, which is too much code for one person to understand.

Raoul Duke

unread,
Mar 18, 2026, 11:22:22 AM (13 days ago) Mar 18
to pi...@googlegroups.com
> I think you misunderstand the state of STEPS. STEPS was impressive, however it was far from feature complete compared to a modern desktop. They didn't (and possibly can't) solve for the essential complexity in modern specifications. eg. If they had to implement HTML5 with quirks the size would have ballooned, no matter how beautiful and clean the implementation was. And then there are drivers, like the pile of closed source poop that are the broadcom wi-fi drivers.
To really do it right, you have to open up all of the stack starting
down in the hardware, and then socially engineer people to less
complex and bloated standards. Without losing valued functionality. A
very tall order.

Mike Austin

unread,
Mar 19, 2026, 1:57:09 PM (12 days ago) Mar 19
to PiLuD
Very nice. I am a minimalist at heart. I'm re-writing my "React Desktop" again, and in every revision I try to write as little code and css as I can. That means heavy re-use: Menu items are just <Button hover />, Select is just a Menu with state. Every component delegates to <View /> to set background color, set flex alignment, etc. I call this the final, final, final version :)
Reply all
Reply to author
Forward
0 new messages