Commit Graph

228 Commits

Author SHA1 Message Date
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
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
4d71c1150c
hoon, vere: move all mock and mook callers to moku/moko. 2020-02-20 18:21:35 +04:00
Isaac Visintainer
00a9eb9eab Merge branch 'master' into os1-rc 2020-02-19 16:04:21 -08:00
Fang
fa138ef216
hoon: clarify comments for +rep:in and +rep:by
"Replace" suggests this function either produces an updated set/map when done,
like +snap, or changes all values in-place, like +turn. In truth, it's more
similar to +roll, which does reduction/accumulation.

("Reduce" specifically was chosen because it maintains the mnemonic relation to
the arm name.)
2020-02-13 23:56:44 +01: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
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
Liam Fitzgerald
5449a0e05b hoon: support %spot hint in xray 2020-02-10 14:20:46 +10:00
Logan Allen
a025a7fcb0 hoon: added +repn 2020-02-07 15:59:53 -08:00
Liam Fitzgerald
5cd189f83c hoon: add %spot typehint
Adds a `[%spot *]` type to the `note` type annotation definition.
These are added when the %dbug hoon is encountered. Done to enable
jump to defintion in the language-server.
2020-02-07 17:57:54 +10:00
Fang
ea7c1db61c
various: use =/ in place of =+ ^-
Also faceless =; where appropriate.
2019-12-21 14:29:14 -03:30
Fang
21ac0e513b
hoon: parse =; without face
Allows for =;([a=@ b=@] ...) and similar constructions.

Also affects =/ and =^.
2019-12-21 14:20:11 -03:30
Elliot Glaysher
44f6a90a4c
hoon: fix typo in +put:in
This fixes +put:in so that it works without the correct jet.  There's a
mismatch where the hoon code is wrong and the jet is correct, so that
when we try to run this on alternate interpreters which may not have the
+in jets, things won't work.
2019-12-13 21:00:21 +08:00
Philip Monk
e6c809058c
Revert "Revert "hoon: zpgl -> zpld for consistency""
This reverts commit 195d0c2fe3.
2019-12-02 20:47:47 -08:00
Philip Monk
195d0c2fe3
Revert "hoon: zpgl -> zpld for consistency"
This reverts commit 64e8318657.

This doesn't apply well to the testnet, so reverting until later.
2019-12-02 02:22:16 -08:00
Philip Monk
64e8318657
hoon: zpgl -> zpld for consistency 2019-12-02 01:36:00 -08:00
Philip Monk
689b829a1d
Merge remote-tracking branch 'origin/master' into rc 2019-11-30 21:54:36 -08:00
Eric Fode
03e1897b00 hoon: add +into and +snap
+into inserts an item into a list at the provided index; +snap replaces
an item at the provided index.

tests: added tests for stdlib list
2019-11-26 13:39:15 -08:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Philip Monk
a5412f01de
Merge branch 'alef-testnet-merge' into philip/mall-real 2019-11-19 13:03:07 -08:00
pkova
8836a3d2fc hoon: refactor royl float parsers to separate arms
Immediately useful for implemeting json `@rd` parsing, which is basically
`++royl-rd` minus pfix sig. The increased separation also allows for running
stuff like `(rash '3.22e-47' royl-rn:so)` from the dojo.
2019-11-19 00:56:06 +02:00
Philip Monk
e43036d748
hoon: extend gol check through cores
This extends `gol` "backward-inference" typechecking to thread through
cores.  Recall that `gol` is used exclusively for receiving more
specific error messages; these changes should have no effect on programs
which already compile successfully.

Before, this would type-fail on the second `|%`.

```
!:
^+  ^?
    |%
    ++  foo  *@ud
    --
|%
++  foo
  ?:  =(1 1)
    2
  %foo
--
```

With these changes, it gives a mint-nice at `%foo`.  It will also give
you explicit errors if you have the wrong number/names of arms,
including which arms it expects.

This is becoming much more important with static gall, since it's the
first time we've used core subtyping so extensively and in userspace.
2019-11-09 18:25:42 +08:00
Philip Monk
7c4316fce4
mall: refactor gift/sign/task types
+on-agent now takes a +sign:agent:mall, which doesn't include spurious
options.  Similarly, +task:agent:mall is smaller.
2019-11-08 17:35:24 -08:00
Philip Monk
c05704965a
hoon: nits picked 2019-11-08 14:48:01 -08:00
Philip Monk
43e02c25e4
hoon: extend gol check through cores
This extends `gol` "backward-inference" typechecking to thread through cores.  Recall that `gol` is used exclusively for receiving more specific error messages; these changes should have no effect on programs which already compile successfully.

Before, this would type-fail on the second `|%`.

```
!:
^+  ^?
    |%
    ++  foo  *@ud
    --
|%
++  foo
  ?:  =(1 1)
    2
  %foo
--
```

With these changes, it gives a mint-nice at `%foo`.  It will also give you explicit errors if you have the wrong number/names of arms, including which arms it expects.

This is becoming much more important with static gall, since it's the first time we've used core subtyping so extensively and in userspace.
2019-11-08 12:53:03 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Ted Blackman
9a02c64b45 Merge branch 'master' into alef-testnet-merge
Untested, has not been run.
Uses master pills for now.  Will need refreshing.
2019-11-02 23:37:01 -04:00
Philip Monk
0014d1cf2b
auto: fix some crashes on strange wet gates 2019-10-31 21:37:24 -07:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Joe Bryan
fa01bfb0a5 hoon: moves new pretty-printer back into userspace 2019-10-17 17:52:45 -07:00
yosoyubik
f970e1c264
hoon: fix for +uno/uni (#1779) set/map union 2019-10-16 13:26:02 -07:00
Ted Blackman
625f855f24 master without pills, hopefully 2019-10-14 16:02:27 -04:00
Jared Tobin
b100160198
Merge branch 'treap-traverse' into yosoyubik-contribs
* treap-traverse:
  pills: update solid
  hoon: replaces manual +tree cons with explicit %=

Signed-off-by: Jared Tobin <jared@tlon.io>
2019-10-10 10:07:03 +04:00
yosoyubik
d482167e21 hoon: replaces manual +tree cons with explicit %=
Rewrites several arms in +to, +in, +by, that perform tree operations,
with explicit %= updates
2019-10-09 07:37:47 +02:00
yosoyubik
7ed0a938e2 hoon: fix for +uno/uni (#1779) set/map union 2019-10-06 12:00:53 +02:00
yosoyubik
b55149af55 hoon: fix for +apt:to (#1778) queue correctness 2019-10-06 12:00:48 +02:00
Philip Monk
e6f5b0d3fd
mall: fix %child-sync ph test 2019-09-25 13:19:09 -07:00
Philip Monk
fc9f17ae23
mall: convert talk to mall
also change !< to crash on failure
2019-09-23 15:44:48 -07:00
Jared Tobin
472c27ef6c
Merge branch 'barbus' (#1712)
* barbus:
  hoon: removed unused parser type
  hoon: remove extraneous cast
  hoon: removed barhax. No hax!
  hoon: replace barhax with barbus
  hoon: changed barbus to match barhax
  hoon: replaced barbus usage with barhax
  hoon: add parsing for barhax
  hoon: added barhax to replace barbus
  hoon: update tall parsing for |$
  hoon: replace +* name usage with ++  name  |$
  hoon: add parsing rules for |$
  hoon: add ast for |$
2019-09-11 15:27:04 -02:30
David Kerschner
46b681e96a hoon: removed unused parser type 2019-09-11 01:20:38 -07:00
David Kerschner
b32fb23166 hoon: remove extraneous cast 2019-09-11 01:20:33 -07:00
David Kerschner
09575c4915 hoon: removed barhax. No hax! 2019-09-11 01:20:28 -07:00
David Kerschner
60c6d4fed1 hoon: replace barhax with barbus 2019-09-11 01:20:21 -07:00
David Kerschner
5762140ebb hoon: changed barbus to match barhax 2019-09-11 01:20:15 -07:00
David Kerschner
504e4fcac1 hoon: replaced barbus usage with barhax 2019-09-11 01:20:10 -07:00
David Kerschner
b752cf660e hoon: add parsing for barhax 2019-09-11 01:20:01 -07:00
David Kerschner
0935b87dc6 hoon: added barhax to replace barbus
barhax will implement changes request in pr and is used to stage changes to barbus
2019-09-11 01:19:45 -07:00
David Kerschner
936c79d616 hoon: update tall parsing for |$ 2019-09-10 11:59:32 -07:00
David Kerschner
b226d24a50 hoon: replace +* name usage with ++ name |$ 2019-09-10 11:59:22 -07:00
David Kerschner
755515463c hoon: add parsing rules for |$ 2019-09-10 11:59:14 -07:00
David Kerschner
043dec26cf hoon: add ast for |$
|$ is being added as a mold builder rune. This change is ultimately part of
reclaiming +* for use as aliases on cores.
2019-09-10 11:58:10 -07:00
Joe Bryan
d461ec40b0
hoon: enable scry in +mule
Enables .^ in +mule (statically-typed virtualization), by specifying a
scry-handler function that punts the namespace read to a higher
virtualization layer via virtual-nock (mock) 12.
2019-09-08 19:45:00 -02:30
Philip Monk
fc682fc585
Merge remote-tracking branch 'origin/scry-safe-mule' into philip/mall-real 2019-09-06 13:18:42 -07:00
Philip Monk
c5cec4036b
add !< rune 2019-09-03 11:05:41 -07:00
Philip Monk
6bac377bd2
hoon: don't nest check in zpmc
This check required the new type of +type to nest within the old type of
+type, which is wrong.  Specifically, this disallowed adding new runes
without a staging procedure (which we didn't successfully complete).
2019-08-29 17:08:48 -07:00
Joe Bryan
97d67e81fb enables scry in +mule (by way of explicit nock 12 in +mute) 2019-08-28 15:55:13 -07:00
Ted Blackman
0fc1675928 Merge branch 'master' into alef-testnet 2019-08-27 14:06:09 -07:00
pkova
4313e8af55 Sort clauses of $fork type pretty-printing 2019-08-22 16:47:52 +03:00
Ted Blackman
fc9104cb47 Merge branch 'master' into alef-testnet (might not work) 2019-08-19 14:43:39 -07:00
pilfer-pandex
bbe0cb3014 revert change to ben's comment 2019-08-09 14:26:37 -07:00
pilfer-pandex
06e25fdf89 Merge branch 'master' into decap-all 2019-08-09 14:26:20 -07:00
pilfer-pandex
9997accabf fix the %mean hints 2019-08-09 13:56:01 -07:00
John Franklin
98732b75b6 modify udon parser to preserve gaps in inline code blocks 2019-08-07 09:58:19 -05:00
pilfer-pandex
7a44ad8e0e fix the %mean nest-fail in nest 2019-08-01 18:18:52 -07:00
Ted Blackman
1c3ea0b188 add +slam:wa and tests 2019-08-01 11:21:24 -07:00
pilfer-pandex
a5a9220284 decapitate nest:ut with caching for dext 2019-08-01 11:13:40 -07:00
Ted Blackman
9670408a06 Merge branch 'master' into alef-breach 2019-07-29 00:27:58 -07:00
pilfer-pandex
acb55a3b28 fix mismatch in mull (tscm again) 2019-07-26 13:47:22 -07:00
Ted Blackman
4123674c9d WIP temporary changes to hoon and arvo 2019-07-22 19:26:38 -07:00
Joe Bryan
b5d02a0082 adds sample type to +get:by, fixes call-sites 2019-07-18 11:51:34 -07:00
pilfer-pandex
a54d18a440 fix play jet mismatch (missing tscm, different sand) 2019-07-17 16:37:14 -07:00
Fang
e7cc662ddb
Add comment for got:by 2019-06-30 14:30:00 +02:00
Fang
45ea701956
Implement gut:by 2019-06-30 14:28:54 +02:00
John Franklin
d945ed588e
Correct indentation of ++render-atom (whitespace-only change) 2019-06-29 20:56:25 +08:00
Jared Tobin
b3901ab42f Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8'
git-subtree-dir: pkg/arvo
git-subtree-mainline: 9c8f40bf6c
git-subtree-split: c20e2a185f
2019-06-28 12:48:05 +08:00