[I first read about Urbit nearly a year ago, as a byproduct of my interest in, um, something else. I took notes, which you can see below. It occurred to me that a few people who read this blog might actually be in a position to correct me if I have misunderstood the nature of the project, so voilà.]
Curtis Yarvin, “Urbit: functional programming” Wednesday January 13, 2010
A very early description of the problems motivating the Urbit suite. Yarvin starts from the point of view that, at the rate at which code gets cludgier and cludgier, old civilizations must have ridiculous “ball of mud” operating systems that are impossible to use; or rather, they have them, until they get sick of them and throw them out to make a new operating system which immediately starts growing like a cancer, a cycle which continues until they find a solution which is not just simple, but moronic; so trivial it can’t be cannot be changed further. Metaphorically, code is moronic/static/frozen at “0K”; he gives the data structure for nouns (nouns are atoms or cells; atoms are unsigned integers; cells are ordered pairs of nouns) as an example of 0K. Nouns then come into a stack, and the operating system deals with the “cards” in the stack one at a time. — Yarvin thinks this is simple because nouns are defined without any syntax; you can write invertible functions between nouns and atoms, but no function is the “right” one. But Urbit/Nock does not have to run as Urbit/Nock; so long as the code strictly mimics something you can write in Nock, you can write a C-program (a jet) to emulate Urbit while you wait for others to adapt. Or Urbit can just run as a meta-program forever; so long as the jets are strictly equivalent to some Nock code, the information-structure of the jets is as irrelevant as the atomic structure of the micro-processors. — Yarvin specifically does not want to get “frozen” standards approved by the IETF, since the new standard cannot claim to be frozen. — A core idea of Urbit is that it runs code directly off the network. Why this is key to its universality was lost on me.