Urbit is a clean-slate approach to computing, with an integrated stack from a single function, Nock, a programming language, Hoon, and operating system, Arvo. Virtual computers with permanent identities recorded on the Ethereum blockchain communicate via encrypted traffic over a network to other ‘ships’, be they ‘planets’, ‘stars’, ‘galaxies’, or ‘comets’.

My planet is ~habnus-dovres.

Next steps:

  • complete hoon school
  • move planet to a server in a cloud

Hoon School

Lesson One

generator naked generator



A single space used as one kind of delimiter in Hoon code.


A substructure of a Hoon that is a function to be applied to a Noun. Functions.


A natural number. These can be ‘cast’ (interpreted as) a vatiety of types, such as planet name, integer, float, character…


A specification of the way Hoon (the language) should ‘interpret’ and operate on an atom.


An arm that is evaluated immediately. many types of Cores, including Gates, have a Buc, and it appears immediately after the Spec.


Specification that a value (they are all just Nouns, consisting, deep down, of natural numbers) as some type of information, such as integer, float, character, list…


A pair of nouns. Displayed as [a b]


Arguments to an Arm.


A data structure that has one or more Arms. ‘Something to do’ paired with ‘something with which to do it’. A combinator and values to pass to the combinator.


A Hoon REPL.


A symbol bound to a value. E.g., in ‘a=2’, ‘a’ is a face bound to the value 2.


Two consecutive spaces (or a carriage return) used as one kind of delimiter in Hoon code.


Code stored in a file. Potentially a function to be applied to other input.


A Core that has exactly one Spec followed by exactly one Hoon.


A series of hoon (the language; this is an ovrloading of the word ‘hoon’) expressions that terminate (meaning they evaluate to a concrete value, needing no further evaluation – having no opportunity for further evaluation.

Irregular Form

An exception to normal syntax used for structural convenience, and in some cases for abbreviation.


A subtructure of a Hoon that is ‘only’ data to be consumed by an Arm. Static data.

Mounting a pier

The process of linking a directory structure of a ship to a unix(y) file system.


An atom or a cell


A point, in a filesystem on a server, to which an Urbit ship is mounted. Often at ~/urbit/~some-ship/


Information, structured as a Hoon, that contains values that are passed to Arms as values for parameters specified in Specs.


A noun that contains information indicating the Type that information received should be interpreted as.


A category comprising Arms and Legs.

Error messages


Indicates a type mismatch between an input value and the type of input expected by a function.

calling a gate dojo runes

Pronunciation guide Atomic auras