Commit Graph

2234 Commits

Author SHA1 Message Date
Joe Bryan
8f79e50640 hoon: clean up +mook comments 2020-05-20 12:07:48 -07:00
Joe Bryan
1c9e004fb4 hoon: switches +soft to use +mole 2020-05-14 19:12:12 -07:00
Joe Bryan
dae21cdbe7 hoon: modernizes virtualization style 2020-05-14 19:11:12 -07:00
Joe Bryan
7ad707edc5 hoon: adds +mole and +mure -- unitary virtualization 2020-05-14 18:45:33 -07:00
Joe Bryan
5141dc4de9 hoon: refactors +edit and +frag in +mink 2020-05-14 18:45:20 -07:00
Joe Bryan
56418b7ad7 hoon: refactors nock %11 in +mink 2020-05-14 13:24:38 -07:00
Joe Bryan
e7d8a64a21 hoon: refactors nock %6 in +mink 2020-05-14 13:24:38 -07:00
Joe Bryan
953091a920 hoon: refactors stack-trace production in +mook 2020-05-14 13:24:38 -07:00
Joe Bryan
3fd545e40f hoon: switches %hunk to scry sample 2020-05-14 11:00:52 -07:00
Joe Bryan
27a47cc72f hoon: switches +mink %hunk from tank to (untyped) path
a %hunk is the error-stack frame for a failed ([~ ~]) scry.
this changes the frame type from tank to *, avoiding
coordination overhead between +mink and the interpreter.
2020-05-14 00:09:52 -07:00
Paul Driver
0671278a80 hoon: use constant hint pass-thru for +mink
Instead of trying to hint computations (buying us %memo, etc), we
simply pass through the nouns (with constant [1 noun] formulas)
to the underlying runtime.  This avoids spuriously product-hinting
the +tone results of +mink as the previous version did.
2020-02-25 13:32:40 -08:00
Paul Driver
44402bb2ec hoon: remove unused +mush
+mush was moved to be a helper of +mink, its only caller, but I
neglected to remove the original code.
2020-02-25 13:30:54 -08:00
Paul Driver
a486688481
hoon: style issue in +mook 2020-02-20 19:26:26 +04:00
Paul Driver
761458918f
vere: remove mino jet 2020-02-20 19:11:11 +04:00
Paul Driver
371f0be924
vere: restore calls to old names (mook) 2020-02-20 18:49:11 +04:00
Paul Driver
9c5cbfcb19
hoon: expunge temporary names (mino, tono, etc) 2020-02-20 18:49:11 +04:00
Paul Driver
d6b28db521
hoon, vere: copy mino, etc. back to old names 2020-02-20 18:32:29 +04:00
Paul Driver
66f8580127
vere: remove mink jet 2020-02-20 18:32:29 +04:00
Paul Driver
4d71c1150c
hoon, vere: move all mock and mook callers to moku/moko. 2020-02-20 18:21:35 +04:00
Paul Driver
b3558dee29
hoon: moko does not crash
When molds were changed to crash on bad input, mook was not updated.
It relied on the old behavior of bunting on bad input. +moko
(the replacement +mook) simply doesn't include stack items that don't
have the proper type (in constrast to +mook, which currently crashes
and used to leave a "blank"/bunted stack item for improperly typed
values).
2020-02-13 19:44:15 +04:00
Paul Driver
5093d420b3
hoon: add staging redirections for mook, mock. 2020-02-13 19:21:00 +04:00
Paul Driver
a233fd5eb3
jet +mino, allow one invalid branch in nock 6
- change the nock interpreter to bail [1 block] instead of [1 block ~]
- modify mink jet to rewrite this error ball to the old style
- add a mino jet that takes advantage of the new style

%hand hints aren't handled by the normal interpreter, so they
were disabled in the test generator.

there was a mismatch in the case of a nock 6 with one invalid branch
(either yes or no), which necessitated a little extra logic when
compiling nock 6. invalid nock is rare in the wild and there are no
tests for this (somewhat subtle) behavior. previously, either branch
invalid was (incorrectly) considered an invalid formula and would not
compile.
2020-02-13 19:20:24 +04:00
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
Philip Monk
41fd367bff
ames: make routing simpler 2020-02-10 17:49:18 -08:00
Benjamin Summers
faec933b56 Merge branch 'master' of github.com:urbit/urbit into king-haskell 2020-02-05 15:44:11 -08:00
Benjamin Summers
3b42c5412f Fix counting bug in event log replay. 2020-02-05 15:20:32 -08:00
risruc-habteb
67221aad29
Update frontpage.hoon
Swapped "p.bek" for "our" and uncommented line 22.
2020-02-04 21:40:14 -05:00
Isaac Visintainer
98fa24908a fix progress bar in daemon mode 2020-02-03 17:27:16 -08:00
Isaac Visintainer
e25d30163d Merge branch 'king-haskell' of https://github.com/urbit/urbit into king-auto-connect 2020-02-03 14:23:44 -08:00
Jared Tobin
769996d09f
Merge branch 'liam-fitzgerald/langserver-doc-autocomplete' (#2204)
* liam-fitzgerald/langserver-doc-autocomplete:
  language-server: magic-spoon hover, autocomplete
  language-server: build ford prelude
  language-server: dynamically compute subject
  language-server: revive rune/symbol completion
  language-server: add completion JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-02-02 19:11:04 +04:00
Jared Tobin
171fcbd263
gitattributes: export-ignore additions [ci skip]
Reflexively export-ignore .gitattributes; also export-ignore Nix
derivations.
2020-02-01 17:40:27 +04:00
Jared Tobin
7fab8be0dc
meta: remove herb, urbit .gitignore files [ci skip]
These were lying around from pre-monorepoisation.
2020-02-01 17:37:13 +04:00
Jared Tobin
ead17841bc
gitattributes: export-ignore default.nix in herb [ci skip] 2020-02-01 12:32:22 +04:00
Jared Tobin
eb27d67cca
gitattributes: export-ignore test directories [ci skip]
Don't include pkg/arvo/tests and pkg/urbit/tests when running
git-archive(1).

Additionally, move the export-ignore declaration for
pkg/urbit/hashtable_tests into the pkg/urbit/.gitattributes files.  For
default operation, git-archive(1) requires that these declarations be
located on the tree being archived.
2020-02-01 12:07:13 +04:00
Jared Tobin
b8ce433e08
meta: remove deprecated files [ci skip]
Removes miscellaneous files that had lingered from pre-monorepoisation:

* pkg/arvo Travis and .gitignore, .gitattributes files
* pkg/urbit CONTRIBUTING.md (subsumed by file in repository root)
2020-02-01 11:17:49 +04:00
Liam Fitzgerald
8428f0ab14 language-server: magic-spoon hover, autocomplete
Uses magic-spoon to properly trace the subject to the cursor position.
2020-01-31 14:21:17 +10:00
Liam Fitzgerald
07d66413b2 language-server: build ford prelude 2020-01-31 13:19:19 +10:00
Jared Tobin
2896386ec1
vere: patch version bump (v0.10.3) [ci skip] 2020-01-30 14:46:10 +04:00
Jared Tobin
5c211c682d
Revert "u3: clear cached mugs on cell edit"
This reverts commit 94800ca79c, which
fixed a bug with mugs in Vere.  Fixing it retroactively invalidated the
mugs in all event logs in the present era, however.
2020-01-30 14:11:50 +04:00
Ted Blackman
7dc499d438
ford: ignore spurious clay responses
Due to asynchronicity, Ford can receive responses from Clay to requests
that it has already attempted to cancel. This removes some overzealous
assertions that this wouldn't happen.
2020-01-29 15:11:36 +04:00
Jared Tobin
64febc787c
Revert "u3: fix lore jet to allow non-trailing null bytes"
This reverts commit 0a78728479.

See discussion in #2195, #1755.
2020-01-29 14:53:16 +04:00
Jared Tobin
47b1b0a9bd
Revert "zuse: allow non-trailing null bytes in to-wain:format"
This reverts commit db1b88b21b.

See discussion in #2195, #1755.
2020-01-29 14:53:09 +04:00
Ted Blackman
0d69031c72
ford: add +got-build helper
Replaced manual calls to (~(got by builds.state) build) with a new
+got-build helper function that prints a helpful error message on
failure.
2020-01-29 14:00:25 +04:00
Liam Fitzgerald
a1a77990fc language-server: dynamically compute subject
Dynamically compute subject so that language server can see arms
from imports. Fall back to -:!>(..zuse) if the build is an app,
because of opaque payloads.
2020-01-29 10:35:27 +10:00
Jared Tobin
87581ba5f8
Merge branch 'bug/image-border' (#2188)
* origin/bug/image-border:
  chat: remove black border on images

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:40:08 +04:00
Jared Tobin
a3e682f596
Merge branch 'ford-orphans' (#2192)
* ford-orphans:
  ford: dequeue orphans

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:39:36 +04:00
Ted Blackman
155ab60609
ford: dequeue orphans
@ixv recently uncovered a bug (#2180) in Ford that caused certain
rebuilds to crash. @Fang- and I believe this change should fix the bug,
and we have confirmed that the reproduction that used to fail about two
thirds of the time now has not failed at all in the ten or so times
we've run it since then. @Fang- is still running more tests to confirm
the fix with more certainty.

It turned out the cause was that (depending on the rebuild order, which
is unspecified and should not need to be specified), Ford could enqueue
a provisional sub-build to be run but then, later in the same +gather
call, discover that the sub-build was in fact an orphan and delete it
from builds.state accordingly. Then when Ford tried to run the
sub-build, it would have already been deleted from the state, so Ford
would crash when trying to process its result in +reduce.

The fix was to make sure that when we discover a provisional sub-build
is orphaned, dequeue it from candidate-builds and next-builds to make
sure we don't try to run it. I'm about 95% sure this fix completely
solves the bug.
2020-01-28 17:29:24 +04:00
Jared Tobin
f19fd5c1a9
Merge branch 'liam-fitzgerald/langserver-rpc-rewrite' (#2181)
* liam-fitzgerald/langserver-rpc-rewrite:
  language-server: align kingside hoon
  language-server: address review issues
  language-server: fixup tests
  language-server: prevent breach being required
  langauge-server: cleanup debug artifacts
  language-server: refactor RPC marks
  language-server: dynamic error highlighting
  language-server: basic request/response cycle
  language-server: first pass at JSON parsers

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-01-28 17:20:07 +04:00
benjamin-tlon
84ddf79264
Merge pull request #2163 from urbit/philip/king-replay
king: add partial-replay and --dry-from
2020-01-28 00:35:53 -08:00
Liam Fitzgerald
97e5570fc7 language-server: revive rune/symbol completion 2020-01-28 12:24:39 +10:00