2.8.4 Essential skills: beginning debugging concepts

Oftentimes, most of the time at first, your generators will not work initially. Your ability to identify the error and fix them is an important skill that comes with time. Some helpful basic information on how to identify errors can be found here:

https://urbit.org/docs/tutorials/hoon-errors/

We do plan on making a “beginner debugging” and “systematic generator debugging” videos, but those are still pending at this time.

In addition to the knowledge above, here are some additional principles that can really help:

After reading the urbit.org error documentation above, you can look at your error and know where the compiler found the error (this is not always where the error exists). So once you have that location, you should look at the program code row & column in question, and look if a rune prior to that has failed to terminate (does not have enough children), check your syntax (and number of spaces or inadvertent mixing of long and tall form), and also make sure that you have declared types properly and early on, and have followed the types you have declared. Those steps are some “low hanging fruit.”

Then, you might consider entering the problematic section of your code into the dojo line by line to see where the errors occur, and also whether the dojo is able to “close out” (i.e. complete) the section of code.

Of course, there are a lot of people eager to help in the hooniverse chats and hoon school office hours. You’ll get there, and we’ll help you. Keep plugging away! Your best learning will be when you fix things with as little help as possible.