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
Glossary
Ace
A single space used as one kind of delimiter in Hoon code.
Arm
A substructure of a Hoon that is a function to be applied to a Noun. Functions.
Atom
A natural number. These can be ‘cast’ (interpreted as) a vatiety of types, such as planet name, integer, float, character…
Aura
A specification of the way Hoon (the language) should ‘interpret’ and operate on an atom.
Buc
An arm that is evaluated immediately. many types of Cores, including Gates, have a Buc, and it appears immediately after the Spec.
Casting
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…
Cell
A pair of nouns. Displayed as [a b]
Children
Arguments to an Arm.
Core
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.
Dojo
A Hoon REPL.
Face
A symbol bound to a value. E.g., in ‘a=2’, ‘a’ is a face bound to the value 2.
Gap
Two consecutive spaces (or a carriage return) used as one kind of delimiter in Hoon code.
Generator
Code stored in a file. Potentially a function to be applied to other input.
Gate
A Core that has exactly one Spec followed by exactly one Hoon.
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.
Leg
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.
Noun
An atom or a cell
Pier
A point, in a filesystem on a server, to which an Urbit ship is mounted. Often at ~/urbit/~some-ship/
Sample
Information, structured as a Hoon, that contains values that are passed to Arms as values for parameters specified in Specs.
Spec
A noun that contains information indicating the Type that information received should be interpreted as.
Wing
A category comprising Arms and Legs.
Error messages
nest-fail
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