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