Nock

Nock is a purely functional typeless programming language and acts as Urbit's lowest-level language. To be more precise, it is a minimalist Turing complete combinator calculus. Nock can be thought of as the assembly-level language specification for Urbit. Nock is evaluated by the runtime system Vere.

The only basic data type in Nock is the atom, which is a non-negative integer. Computation in Nock occurs through the use of nouns (e.g. binary trees whose leaves are atoms) utilized in three different manners: formulas, subjects, and products. A formula is a noun utilized as a function that takes in a noun, its subject, and returns a noun, its product.

Code written in Hoon is compiled to Nock, though it is unnecessary to learn Nock to write code in Hoon.

Further Reading

Edit this page on GitHub

Last modified October 8, 2023