Last major revision of this tutorial: 2016. Minor revisions were made in October 2018 to bring it in line with the new Nock 4K spec.

Nock is the low-level functional programming language that is interpreted by Vere. You don't need to know Nock to write Hoon, or even to work on most parts of Vere. But if you want to understand the foundations of Urbit and are mathematically-inclined, dive right in.

Nock Definition

The Nock specification.

An explanation of Nock

A comprehensive walkthrough of the Nock spec.

Nock by hand

Learn Nock by example.

Nock Implementations

The many ways that Nock has been implemented.