on master help sign in
misc tweaks
commitb5492d80d951030c6feab0f23d0c5c26b5568b31 authorJosh Lehman <josh@starcity.com> dateThu 11 Mar 2021, 11:01 (6 years ago) parent09cedb0
5 files changed+43−21
_index.md+9−10 hoon/_index.md+4−2 hoon/hoon-school/_index.md+28−7 hoon/hoon-school/behn.md+1−1 system-overview/_index.md+1−1
_index.md+9−10
@@ -9,20 +9,19 @@ Welcome to the documentation for the Urbit project. This documentation is mainta
99If you already know what you're looking for, the easiest way to find it is with the search box located on the left.
1010
1111
12−### [System Overview](@/docs/system-overview/_index.md)
13−
14−This section gives a high-level overview to all the major components of the
15−Urbit tech stack - namely, the operating system Arvo, the programming languages
16−Nock and Hoon, the runtime Vere, the decentralized ID system Azimuth, and Tlon's
17−flagship client Landscape.
18−
1912### [Development](@/docs/development/_index.md)
2013
2114The Development section is recommended reading for developers interested in
2215contributing to Urbit itself, or building apps on top of Urbit. It serves as a
23−high-level orientation to how to set up a development environment, how to
24−interact with Urbit from outside protocols, community projects, and precepts
25−that drive the development of Urbit.
16+high-level orientation to how to set up a development environment, the various
17+codebases that comprise the project, our grants program, and the precepts that
18+drive the development of Urbit.
19+
20+### [System Overview](@/docs/system-overview/_index.md)
21+
22+This section gives a high-level overview to all the major components of the
23+Urbit tech stack - namely, the operating system Arvo, the programming languages
24+Nock and Hoon, the runtime Vere, and the decentralized ID system Azimuth.
2625
2726### [Arvo (Urbit OS)](@/docs/arvo/_index.md)
2827
hoon/_index.md+4−2
@@ -5,9 +5,11 @@ sort_by = "weight"
55template = "sections/docs/chapters.html"
66+++
77
8−## [Why Hoon?](@/docs/hoon/whyhoon.md)
8+Hoon is Urbit's high-level general-purpose programming language.
99
10−An overview of why [Arvo](@/docs/arvo/arvo.md) was written using Hoon.
10+### [Overview](@/docs/hoon/overview.md)
11+
12+An overview of why [Arvo](@/docs/arvo/overview.md) was written using Hoon.
1113
1214### [Hoon School](@/docs/hoon/hoon-school/_index.md)
1315
hoon/hoon-school/_index.md+28−7
@@ -6,15 +6,36 @@ template = "sections/docs/hoon.html"
66aliases = ["/docs/byte/0/", "/docs/byte", "/docs/learn/hoon/hoon-tutorial/"]
77+++
88
9−This series is designed to teach you Hoon without assuming you have an extensive programming background. In fact, you should be able to follow much of it even if you have no programming experience at all, though of course experience helps. We strongly encourage you to try out all the examples of each lesson. These lessons are meant for the beginner but they aren't meant to be skimmed. Each lesson falls into one of two categories: **readings**, which are prose-heavy explanations of Hoon fundamentals, and **walkthroughs**, which are line-by-line explanations of example programs. Walkthroughs are found between readings, offering a practical implementation of the concepts taught in the reading before.
9+This series is designed to teach you Hoon without assuming you have an extensive
10+programming background. In fact, you should be able to follow much of it even if
11+you have no programming experience at all, though of course experience helps. We
12+strongly encourage you to try out all the examples of each lesson. These lessons
13+are meant for the beginner, but they aren't meant to be skimmed. Each lesson
14+falls into one of two categories: **readings**, which are prose-heavy
15+explanations of Hoon fundamentals, and **walkthroughs**, which are line-by-line
16+explanations of example programs. Walkthroughs are found between readings,
17+offering a practical implementation of the concepts taught in the reading
18+before.
1019
11−Before you start, we recommend reading [Why Hoon?](https://urbit.org/blog/why-hoon/), a blog post by a Tlon engineer that justifies the existence and use of this peculiar language. This explainer gives useful context to all types of learners, but those new to programming will need to use Google frequently for the jargon.
20+If you're curious about why Urbit is written in this new language, we recommend
21+reading the [Hoon overview](@/docs/hoon/overview.md) that covers the high-level
22+design decisions behind the language.
1223
13−Chapter 1 introduces and explains the fundamental concepts you need in order to understand Hoon's semantics.
24+Chapter 1 introduces and explains the fundamental concepts you need in order to
25+understand Hoon's semantics.
1426
15−Hoon is a "subject-oriented" programming language -- every expression of Hoon is evaluated relative to a **subject**. The subject is a piece of data that represents the environment, or the context, of an expression. After reading Chapter 1 you should understand what the subject is and how to refer to its various parts. In this chapter you'll also learn about **[cores](/docs/glossary/core/)**, which are an important data structure in Hoon. Once you get the hang of [cores](/docs/glossary/core/) you'll be able to write your own functions in Hoon.
27+Hoon is a "subject-oriented" programming language &mdash; every expression of
28+Hoon is evaluated relative to a **subject**. The subject is a piece of data that
29+represents the environment, or the context, of an expression. After reading
30+Chapter 1 you should understand what the subject is and how to refer to its
31+various parts. In this chapter you'll also learn about
32+**[cores](/docs/glossary/core/)**, which are an important data structure in
33+Hoon. Once you get the hang of [cores](/docs/glossary/core/) you'll be able to
34+write your own functions in Hoon.
1635
17−Chapter 2 covers the type system, and writing apps, and the workings of the Arvo kernel.
36+Chapter 2 covers the type system, writing basic apps, and the workings of the
37+Arvo kernel.
1838
19−You should also consider enrolling in Hooniversity, a regularly held community-run
20−course which follows along the Hoon School curriculum and may be found at [Hooniversity](https://hooniversity.org/).
39+You should also consider enrolling in Hooniversity, a regularly held
40+community-run course which follows along the Hoon School curriculum and may be
41+found at [Hooniversity](https://hooniversity.org/).
hoon/hoon-school/behn.md+1−1
@@ -16,7 +16,7 @@ Kernel code is generally kept to be as minimal as possible, and so almost anythi
1616
1717Vanes communicate with one another by exchanging chunks of data known as
1818`move`s. We will get into more detail above what a `move` is in our example of
19−Behn below, (and also see [move traces](@/docs/arvo/move-trace.md)) but at a high level one should think of a `move` as either a request from one vane to another or a response to a request. In our egg timer app, Gall and Behn will be exchanging `move`s.
19+Behn below, (and also see [move traces](@/docs/arvo/tutorials/move-trace.md)) but at a high level one should think of a `move` as either a request from one vane to another or a response to a request. In our egg timer app, Gall and Behn will be exchanging `move`s.
2020
2121Notably, vanes are _not_ something that a user ever interacts with directly. They live in an area of the memory called "kernel space", while all user processes live in [user space](https://en.wikipedia.org/wiki/User_space). Applications in user space make _system calls_ to the kernel, which the kernel may or may not obey (for security and stability purposes). These requests could be things such as asking for the time, getting the input of a hardware device, making an http request, or moving a file. In our egg timer app, we will be making system calls to ask Behn to handle the timer aspect.
2222
system-overview/_index.md+1−1
@@ -1,6 +1,6 @@
11+++
22title = "System Overview"
3−weight = 100
3+weight = 200
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66+++