shrub/pkg/arvo
Paul Driver 50aaa27ed1
hoon: add +mino, a new virtual nock interpreter
+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.
2020-02-13 19:19:52 +04:00
..
app ames: make routing simpler 2020-02-10 17:49:18 -08:00
gen hoon: add +mino, a new virtual nock interpreter 2020-02-13 19:19:52 +04:00
lib Merge branch 'liam-fitzgerald/langserver-doc-autocomplete' (#2204) 2020-02-02 19:11:04 +04:00
mar Merge branch 'master' into langserver-rpc-rewrite 2020-01-27 12:11:19 +10:00
ren various: remove trailing whitespace 2020-01-03 22:06:42 +01:00
sur language-server: add completion JSON parsers 2020-01-28 10:08:02 +10:00
sys hoon: add +mino, a new virtual nock interpreter 2020-02-13 19:19:52 +04:00
ted gall: (list path) in %fact and %kick 2019-12-23 13:37:32 +01:00
tests language-server: add completion JSON parsers 2020-01-28 10:08:02 +10:00
.gitattributes gitattributes: export-ignore additions [ci skip] 2020-02-01 17:40:27 +04:00
.ignore Write top-level pier code; hook up Ames and Behn. 2019-07-31 19:34:14 -07:00
LICENSE.txt Pull in latest v0.8.0.rc changes 2019-07-16 15:59:39 -07:00
README.md master without pills, hopefully 2019-10-14 16:02:27 -04:00
TESTING.udon Pull in latest v0.8.0.rc changes 2019-07-16 15:59:39 -07:00

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: