- 1.1 Introduction
- 1.1.1 Welcome!
- 1.1.2 So what are we going to learn in this course, Beginning Hoon?
- 1.2 Our Goals
- 1.3 Why would anyone want to learn Hoon?
- 1.4 Let’s begin.
- 1.4.1 What is a Program?
- 1.4.2 How we will display things
- 1.5 Learning paths that wander and then return
- 1.5.1 What are Urbit, Nock and Hoon? (the basics)
- 1.6 Hoon Programs and Hoon’s weaknesses
- 1.6.1 Types of Naivety in Hoon:
- 1.6.2 Aura/Type
- 1.7 Naivety: Stopping / finishing a program
- 1.7.1 Naivety: The ‘work product’ must be declared
- 1.8 What you need to know and do before beginning
- 1.8.1 Setup
- 1.8.2 How & where to run Urbit
- 1.9 “Mounting” your “desk.”
- 2.1 |commit programs so that your Urbit can “see” it
- 2.1.1 Introduction to the dojo: finally getting into it
- 2.2 Concepts covered in the intro to dojo video:
- 2.3 The “Landscape” interface: we won’t be using it
- 2.3.1 Just to be sure: let’s |commit a program
- 2.4 Important Basic Concepts for Hoon: Atoms, Auras, Cells, Nouns, Lists, Runes
- 2.4 Nock
- 2.5 What are: Atoms, Auras, Cells and Nouns?
- 2.5.1 Why do we need cells?
- 2.6 So then what are Nouns?
Hoon Syntax: Commands, Runes, Tall and Flat Forms
- 2.8 Anki Flash Card Deck: Hoon Rune Phonetics
- 2.8.2 Anki Flash Card Deck: Hoon rune families
- 2.8.3 Anki Flash Card Deck: Hoon runes in plain English
- 2.8.4 Essential skills: beginning debugging concepts
1.5 Learning paths that wander and then return
Urbit is new, and built to last forever. Hoon is new and unique and supports this durability through both complexity and simplicity. There are some abstractions too, and we will tackle all of this together. When we try to learn something as new and different as Hoon, we will need to go on a few journeys together to describe the parts of Hoon, and then come back to the main learning path. In some ways, this will be a bit of a challenge, because some of these concepts depend on each other to be fully understood, and you can’t learn a lot of completely new things all at the same time.
But we will try to make our paths into the unknown as bite-sized as possible so that you can build a core of understanding and then continue to challenge it with new and as-yet foreign concepts to add to the big picture.