on master help sign in
Merge pull request #668 from urbit/index
ddc5fcarmariani
tutorials/hoon/_index.md+3−3
@@ -48,9 +48,9 @@ Chapter 2 covers the type system, and writing apps, and the workings of the Arvo
48- [2.5.2 Walkthrough: Lead Polymorphism](lead-polymorphism)
48- [2.5.2 Walkthrough: Lead Polymorphism](lead-polymorphism)
49- [2.6 Gall](gall)
49- [2.6 Gall](gall)
50- [2.7.1 Walkthrough: Egg Timer](egg-timer)
50- [2.7.1 Walkthrough: Egg Timer](egg-timer)
51−- [2.7.2 Gall -- Async Monad](async-monad)
51+- [2.7.2 Gall: Async Monad](async-monad)
52−- [2.8.1 Ford](ford)
52+- [2.8 Ford](ford)
53−- [2.8.2 Ford Testing Suite Walkthrough](test-sets)
53+- [2.8.1 Walkthrough Ford Testing Suite Walkthrough](test-sets)
54
54
55
55
56## Other Resources
56## Other Resources
tutorials/hoon/ford.md+4−4
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "2.8.1 Ford"
2+title = "2.8 Ford"
3weight = 38
3weight = 38
4template = "doc.html"
4template = "doc.html"
5+++
5+++
@@ -21,9 +21,9 @@ The primary output of a build system, the final binary known as a _build_, comes
21The number of languages a build system is designed to work with varies, from specialized build systems that focus on a single language (like Ford) to general purpose ones that could conceivably work for any language and frequently rely on other build systems to function (such as [make](https://en.wikipedia.org/wiki/Make_(software))).
21The number of languages a build system is designed to work with varies, from specialized build systems that focus on a single language (like Ford) to general purpose ones that could conceivably work for any language and frequently rely on other build systems to function (such as [make](https://en.wikipedia.org/wiki/Make_(software))).
22
22
23Source files frequently have _dependencies_, which are other source files, outside libraries, or tools needed to build a software program. These dependencies can have dependencies themselves, and in general one can draw a dependency graph of all of the different libraries and tools that go into building a project.
23Source files frequently have _dependencies_, which are other source files, outside libraries, or tools needed to build a software program. These dependencies can have dependencies themselves, and in general one can draw a dependency graph of all of the different libraries and tools that go into building a project.
24−
24+
25It is frequently the case that only specific versions of a given library or tool will work. This can create contradictory version requirements, an issue that falls under the umbrella of "dependency hell". Most build systems suffer from this problem, but functional programming provides workarounds. [Nix](https://nixos.org/nix/) is a popular build system that avoids this issue, and Ford does as well.
25It is frequently the case that only specific versions of a given library or tool will work. This can create contradictory version requirements, an issue that falls under the umbrella of "dependency hell". Most build systems suffer from this problem, but functional programming provides workarounds. [Nix](https://nixos.org/nix/) is a popular build system that avoids this issue, and Ford does as well.
26−
26+
27Besides the primary task of building software outlined above, build systems also typically handle some or all of the following responsibilities:
27Besides the primary task of building software outlined above, build systems also typically handle some or all of the following responsibilities:
28 - Resolving dependencies
28 - Resolving dependencies
29 - Downloading dependencies
29 - Downloading dependencies
@@ -194,4 +194,4 @@ Ford is the vane utilized for unit testing, which are the the simplest sort of t
194
194
195One typically tests software by feeding it inputs and seeing if the outputs matches what is expected (something that is determined manually by the engineer). Unit tests work with only a single "module" at a time. What exactly is meant by this is shown by example in the following walkthrough, but for now it suffices to say that unit tests are in contrast with larger scale tests variously known as end-to-end tests, system tests, and integration tests.
195One typically tests software by feeding it inputs and seeing if the outputs matches what is expected (something that is determined manually by the engineer). Unit tests work with only a single "module" at a time. What exactly is meant by this is shown by example in the following walkthrough, but for now it suffices to say that unit tests are in contrast with larger scale tests variously known as end-to-end tests, system tests, and integration tests.
196
196
197−### [Next up: Unit Testing with Ford](../ford.md)
197+### [Next up: Unit Testing with Ford](../ford.md)
tutorials/hoon/test-sets.md+2−2
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "2.8.2 Unit Testing with Ford"
2+title = "2.8.1 Unit Testing with Ford"
3weight = 39
3weight = 39
4template = "doc.html"
4template = "doc.html"
5+++
5+++
@@ -190,4 +190,4 @@ OK /sys/hoon/map/test-map-all
190OK /sys/hoon/map/test-map-any
190OK /sys/hoon/map/test-map-any
191...
191...
192```
192```
193−We have truncated the results here, but you can already see that this command is performing tests found in subfolders of `/tests/sys/hoon`. This command runs quicky, but if you ran e.g. `+test /sys` you may be waiting quite awhile.
193+We have truncated the results here, but you can already see that this command is performing tests found in subfolders of `/tests/sys/hoon`. This command runs quicky, but if you ran e.g. `+test /sys` you may be waiting quite awhile.