Skip to content

Commit

Permalink
choo: open source hoon sources (#8)
Browse files Browse the repository at this point in the history
  • Loading branch information
eamsden authored Aug 24, 2024
1 parent fc0b0aa commit 4f0905d
Show file tree
Hide file tree
Showing 4 changed files with 14,213 additions and 0 deletions.
14 changes: 14 additions & 0 deletions choo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Choo: compile hoon

To self-bootstrap:

```
$ cargo build
$ ../target/debug/choo --new --knob hoon/lib/hoon-139.hoon
$ mv out.jam hoon-139.jam
$ ../target/debug/choo --new hoon/lib/kernel.hoon hoon-139.jam
$ mv out.jam bootstrap/choo.jam
$ cargo build
```

You now have a choo executable whose nock was built entirely by choo from Hoon sources.
22 changes: 22 additions & 0 deletions choo/hoon/lib/builder.hoon
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* hoon-139-hoon %hoon /lib/hoon-139/hoon
/* kernel-hoon %hoon /lib/kernel/hoon
!.
::
:: Bootstrap builder: to build the bootstrap formula for Choo using
:: Urbit Ford
::
:: sync files into a desk %choo
:: dojo> =choo -build-file /=choo=/lib/builder/hoon
:: dojo> .choo/jam choo
::
:: copy <your-fakezod>/.urb/put/choo.jam to choo/bootstrap/choo.jam
^- nock
~& "compiling hoon"
=/ hoon-knob=[t=type form=nock]
~> %bout
(~(mint ut %noun) %noun (ream hoon-139-hoon))
~& "compiling kernel"
=/ kernel-knob=[t=type form=nock]
~> %bout
(~(mint ut t.hoon-knob) %noun (rain /lib/choo/kernel/hoon kernel-hoon))
[%7 form.hoon-knob form.kernel-knob]
Loading

0 comments on commit 4f0905d

Please sign in to comment.