mirror of
https://github.com/urbit/shrub.git
synced 2024-11-28 22:33:06 +03:00
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.
4 lines
132 B
Plaintext
4 lines
132 B
Plaintext
version https://git-lfs.github.com/spec/v1
|
|
oid sha256:e8b72448edf98d72c5ba7ccdf64ab0fb6dd62312a5504e639db7b93bb4be52f0
|
|
size 1234968
|