50aaa27ed1
+mink, the current virtual nock interpreter, has a couple of problems. 1. it propagates blocks as a list of paths, which is inconsistent with the way the jet behaves (only a single path is ever blocked on, with exception semantics). 2. +mush was not updated after the change to molds to crash instead of bunting. it crashes when not given the right kind of data, which is inconsistent with the intended semantics of ++mink. 3. it "eats" hints, causing (for example) slogs to disappear when running without a mink jet. 4. the naming/style was typically cryptic. since +mink will never really be run, one could argue that its primary purpose is to be read. +mino (which will be renamed to +mink after some staging) has had its return type (+tono, to be renamed +tone) modified in the block case so that it only blocks on one path, has a corrected +mush, carefully "passes through" all hints to the underlying interpreter, and has more meaningful names, with the intention of improving readability. A generator (gen/mino.hoon) is also included in this commit; it contains tests that were used during the development of +mino. It should be removed before integration, and is included for posterity. The stack trace semantics are expected to change in the near future (since they are dependent on jets faithfully preserving the stack pushes of the pure nock, an onerous burden). They are, however, tested in gen/mino.hoon, which makes it unsuitable as a long-term test. |
||
---|---|---|
.. | ||
app | ||
gen | ||
lib | ||
mar | ||
ren | ||
sur | ||
sys | ||
ted | ||
tests | ||
.gitattributes | ||
.ignore | ||
LICENSE.txt | ||
README.md | ||
TESTING.udon |
Arvo
A clean-slate operating system.
Usage
To run Arvo, you'll need Urbit. To install Urbit and run Arvo please follow the instructions in the getting started docs. You'll be on the live network in a few minutes.
If you're doing development on Arvo, keep reading.
Documentation
Find Arvo's documentation on urbit.org.
Development
To boot a fake ship from your development files, run urbit
with the following arguments:
urbit -F zod -A /path/to/arvo -c fakezod
Mount Arvo's filesystem allows you to update its contents through Unix. To do so, run |mount
in dojo. It is most common to |mount /=home=
.
To create a custom pill (bootstrapping object) from the files loaded into the home desk, run .my/pill +solid
. Your pill will appear in /path/to/fakezod/.urb/put/my.pill
.
To boot a fake ship with a custom pill, use the -B
flag:
urbit -F zod -A /path/to/arvo -B /path/to.pill -c fakezod
To run all tests in /tests
, run +test
in dojo. +test /some/path
would only run all tests in /tests/some/path
.
Maintainers
Most parts of Arvo have dedicated maintainers.
/sys/hoon
: @pilfer-pandex (~pilfer-pandex)/sys/zuse
: @pilfer-pandex (~pilfer-pandex)/sys/arvo
: @jtobin (~nidsut-tomdun)/sys/vane/ames
: @belisarius222 (~rovnys-ricfer) & @joemfb (~master-morzod)/sys/vane/behn
: @belisarius222 (~rovnys-ricfer)/sys/vane/clay
: @philipcmonk (~wicdev-wisryt)/sys/vane/dill
: @bernardodelaplaz (~rigdyn-sondur)/sys/vane/eyre
: @eglaysher (~littel-ponnys)/sys/vane/ford
: @belisarius222 (~rovnys-ricfer) & @eglaysher (~littel-ponnys)/sys/vane/gall
: @jtobin (~nidsut-tomdun)/sys/vane/jael
: @fang- (~palfun-foslup) & @joemfb (~master-morzod)/app/acme
: @joemfb (~master-morzod)/app/dns
: @joemfb (~master-morzod)/app/hall
: @fang- (~palfun-foslup)/app/talk
: @fang- (~palfun-foslup)/app/aqua
: @philipcmonk (~wicdev-wisryt)/lib/test
: @eglaysher (~littel-ponnys)
Contributing
Contributions of any form are more than welcome! Please take a look at our contributing guidelines for details on our git practices, coding styles, how we manage issues, and so on.
You might also be interested in:
- joining the urbit-dev mailing list.
- applying to Hoon School, a course we run to teach the Hoon programming language and Urbit application development.