1
0
mirror of https://github.com/ilyakooo0/urbit.git synced 2024-12-22 06:11:31 +03:00
urbit/base/pub/doc/hoon.md
Anton Dyudin 80ac6ffe0a Revert "remove docs for demo", "remove odds and ends", "demo network", "DEMO ONLY: root beak as %demo."
This reverts commit 8e1e40d75b3ab15c194b6bf9570f3edc46e2de58.
This reverts commit f073c490f9fd7c5abc033af4857df92229877de7.
This reverts commit f187d2d7e01a54823f3e979af9bbd148b398e7e9.
This reverts commit bc272862a73cfce1b118586ca39d3a377d841f1b.

Conflicts:
	urb/urbit.pill
2015-06-05 14:03:30 -07:00

804 B

hoon

hoon is our programming language.

hoon is a strict, typed, functional language that compiles itself to nock. The hoon compiler is 4000 lines of hoon. Adding standard libraries, the self-compiling kernel is 8000 lines. The hoon compiler is located towards the bottom of /=main=/arvo/hoon.hoon. The standard library is split between /=main=/arvo/hoon.hoon and /=main=/arvo/zuse.hoon.

hoon has no particular familial relationship to other languages you may know. It uses its own type inference algorithm and is as different from Haskell as from Lisp. hoon syntax is also completely unfamiliar. hoon uses ascii digraphs, which we call 'runes', instead of reserved words.