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.