Hoon is a high-level language which defines itself in Nock. Its self-compiling kernel, 7000 lines of code, specifies Hoon unambiguously; there is no Hoon spec. Hoon can be classified as a pure, strict higher-order static type-inferred functional language, with co/contra/bivariance and genericity. However, Hoon does not use lambda calculus, unification, or other constructs from “PL theory.” Hoon also excels at handlin…
I recommend you start with the Nock tutorial:
http://www.urbit.org/2013/08/22/Chapter-2-nock.html
The build instructions in this file are out of date, use the ones from the Arvo chapter. Also, probably the best short overview is the header comment in the Hoon compiler:
https://github.com/urbit/urbit/blob/master/urb/zod/arvo/hoon...
Also don't miss the video: https://vimeo.com/75312418