drbeefsupreme
941ff18d9b
hoon: refactor doccord parsing for +tall and +till
2022-06-24 12:30:52 -04:00
drbeefsupreme
552b8e9e94
hoon: spec doccord parsing, refactor +till +tall
2022-06-22 15:46:11 -04:00
drbeefsupreme
d0b8d284ce
hoon: add %dict tag to %spec for doccords
2022-06-22 15:45:40 -04:00
drbeefsupreme
a59bd02054
hoon: doccords, product-docs arent made in +boog
...
this is almost a revert of the commit that added in the %funk tag, but
not quite, so its a new commit. i apparently forgot that product docs
are actually built by +wrap, not +boog, so it was treating postfix
arm-docs as if they were product docs
2022-06-09 13:30:18 -04:00
drbeefsupreme
3d3ea61d53
hoon: %brcn and %brpt names for doccords
...
changes the syntax for naming |% and |@ cores from
:> # %core-name
to
|% %core-name
2022-06-07 12:36:23 -04:00
drbeefsupreme
39ac7cb820
Merge branch 'master' into jon/doccords
2022-06-07 11:10:20 -04:00
Philip Monk
00d180c008
Merge branch 'pr' into philip/tomb
2022-05-14 20:59:33 -07:00
Philip Monk
915dc733f5
Merge remote-tracking branch 'origin/m/buclus' into philip/tomb
2022-05-14 20:39:51 -07:00
Philip Monk
27a4a9584f
hoon: in molds, unify result with input
2022-05-10 01:01:25 -07:00
fang
13d1c28927
hoon: make manual shorthand type printing prettier
2022-04-06 23:24:43 +02:00
drbeefsupreme
2a57e85a09
hoon: comment out %note entry in +open
...
this was wiping out some comments buried that weren't written at the top
of an arm. not sure if this is used in another fashion that will create
issues, so I just commented it out to help remember that it used to be
there in case it needs further changes, like if I should actually skip
%know and %made notes but not %help notes
2022-04-06 16:27:07 -04:00
drbeefsupreme
6f32d107fc
hoon: doccords wrap tisfas fix
...
I didn't know what I was doing before, I think this is the right way to
wrap tisfas with a %note hoon.
2022-04-05 14:45:51 -04:00
drbeefsupreme
063e3ed716
hoon: doccords dist. between arm-doc and prod-doc
...
docs written above an arm are now distinguishable in the AST from
docs written above the product of the arm, by tagging docs written
above the arm with a %funk link
2022-04-05 12:35:53 -04:00
Joe Bryan
f7f4b3e748
hoon: preserve structural sharing by testing subject/product equality in +burp
2022-04-04 14:12:25 -04:00
Joe Bryan
0c255c1294
hoon: plug type leak in vase literals by properly burping %hint
2022-04-04 14:12:24 -04:00
drbeefsupreme
f9dfb590d6
hoon: turn on hints for %noun types
2022-03-31 17:41:48 -04:00
Joe Bryan
9a1b3eaf15
Merge pull request #5664 from urbit/jb/type-leak
...
hoon: plug type leak in compiler bootstrap
2022-03-28 09:08:59 -04:00
Philip Monk
4278d4c8b3
Merge pull request #5673 from urbit/philip/fix-uno
...
hoon: fix +uno:by when map is null
2022-03-25 18:23:32 -07:00
Philip Monk
50fb239d2f
hoon: fix +uno:by when map is null
...
This crashed at runtime when `a` is null because it tried to instantiate
`meg`, and that means bunting its argument, and that calls `node`, where
the assert failed.
Wet gates use the bunt of their formal argument, so we use that.
2022-03-25 18:08:13 -07:00
Joe Bryan
d937e131a4
hoon: preserve structural sharing by testing subject/product equality in +burp
2022-03-25 10:28:05 -04:00
Joe Bryan
15e570a622
hoon: plug type leak in vase literals by properly burping %hint
2022-03-25 10:27:32 -04:00
Jōshin
4be43d5e28
hoon: fix comment whitespace
2022-03-21 10:24:27 -06:00
drbeefsupreme
e50635babd
hoon: doccords wrap %rock %sand %wing %knit %bust
...
wraps them in %note hoons
2022-03-18 18:22:26 -04:00
drbeefsupreme
37580fa722
hoon: doccords for tisfas
...
wraps the skin in tisface with a %help skin
2022-03-18 17:03:02 -04:00
drbeefsupreme
2fa0bd3644
squash! hoon: doccords wrap bar runes with %notes
2022-03-16 13:43:55 -04:00
drbeefsupreme
c01732de16
hoon: doccords wrap bar runes with %notes
...
this changes the parser to take any bar runes surrounded by formal
comments and wraps them with %note tags containing those comments
2022-03-16 13:05:58 -04:00
drbeefsupreme
ff81189823
hoon: doccords %brdt cleanup revert
2022-03-16 12:13:39 -04:00
drbeefsupreme
1c72ff6103
Revert "hoon: change %brdt AST to support doccords label"
...
This reverts commit 0dc3498a6f
.
2022-03-16 12:12:39 -04:00
drbeefsupreme
643700546f
hoon: populate %brpt doccords label
2022-03-14 17:09:41 -04:00
drbeefsupreme
0dc3498a6f
hoon: change %brdt AST to support doccords label
2022-03-14 17:08:49 -04:00
drbeefsupreme
f08b613416
hoon: populate label for %brcn doccords
...
This changes the parser for +tall so that it looks before and after a
hoon for doccords, and then extracts a label for %brcn if it exists.
+wrap will be used to annotating most hoons, but this commit only covers
%brcn
2022-03-14 17:00:04 -04:00
fang
41a796d2d1
hoon: hook up $+ for shorthand type rendering
...
Too often when dealing with big types the compiler traces and other such
outputs become hard to read. Wrapping a type as $+(shorthand big-type)
will now print #shorthand in place of the type.
2022-03-14 13:58:48 -04:00
drbeefsupreme
0a3ec9a92d
hoon: doccords cleanup %note tag for +boog
2022-03-14 11:49:31 -04:00
drbeefsupreme
336817d5bc
hoon: doccords for core chapters
...
this populates the $what in $tome
2022-03-14 11:49:30 -04:00
drbeefsupreme
cdaf23a184
hoon: prefix and postfix doccords for ++ and +$
...
there's a stub for +* but its not working yet
2022-03-14 11:49:29 -04:00
fang
3df227760f
hoon: hook up $+ for shorthand type rendering
...
Too often when dealing with big types the compiler traces and other such
outputs become hard to read. Wrapping a type as $+(shorthand big-type)
will now print #shorthand in place of the type.
2022-03-10 01:45:18 +01:00
Joe Bryan
ff3bb495d8
hoon: updates %mcgl with an hygienic expansion
2022-02-22 20:39:30 -05:00
~nallux-dozryl
dd53baa059
Fix comment indent for abs:si
2022-01-24 15:24:01 +08:00
fang
bbd044185c
Merge pull request #5227 from urbit/m/righteous-paths
...
hoon: correctly parse empty path
2021-10-14 23:12:29 +02:00
fang
d0f8eda937
hoon: correctly parse empty path
...
And reject paths ending in empty segments.
The following cases were being parsed incorrectly:
- `/` represents the empty path, `~`. This was being parsed into `[~. ~]`
- `/x/` is not valid. This was being parsed into `[~.x ~. ~]`
This happens because `urs:ab` has no problem parsing the empty string.
For some supported cases, like `//x` (`[~. ~.x ~]`), this is actually desired
behavior, but it results in trailing empty segments for paths ending in `/`.
Here we apply a `+sear` on top of the existing parser, that transform the `/`
case to produce `~`, and ensures the absence of a trailing empty segment in
all other cases.
Note that we change `(more fas urs:ab)` to `(most fas urs:ab)`. Since `urs:ab`
parses the empty string, this doesn't actually make a difference, but it does
make it more obvious that the `+rear` call will never crash.
Alternative approaches I attempted all resulted in much more complicated
parser, so the dumb `+sear` seems preferable.
We do eat the performance cost of an additional list traversal (in `+rear`)
with this change, but that is probably not the end of the world.
Fixes #1501 .
2021-09-16 12:39:50 +02:00
Philip Monk
98d8419c9e
hoon: don't compile .= children twice
2021-08-04 17:02:48 -04:00
Philip Monk
4e16b9c555
hoon: remove +ad
...
This reverts d96d50199
because +ad is incredibly opaque, and +ergo's
sitting right there anyway. It looks like it was intended to abstract
over +endo, +elbo, and +ergo, but only +ergo was every implemented. I
don't doubt the others could be as well, but then they would be just as
inscrutable.
2021-08-04 16:57:03 -04:00
Philip Monk
b0c9fd1940
Merge remote-tracking branch 'origin/lf/hoon-inc' into release/next-sys
2021-06-08 08:59:27 -10:00
Logan Allen
b6206728cc
hoon: make +sink more concise
2021-06-04 16:06:40 -05:00
Logan Allen
7ef313c5e1
hoon: add +sink, a slow (but faster than dunk) type printing
2021-06-04 14:40:28 -05:00
Philip Monk
57bea9407e
Merge pull request #4623 from urbit/jb/seminoun-bunt
...
hoon: update seminoun bunt to be fully blocked
2021-05-18 10:23:30 -07:00
Philip Monk
a57b6f9c9e
Merge branch 'pr' into release/next-sys
2021-05-13 07:04:07 -10:00
Liam Fitzgerald
9b2061a824
hoon: add +succ gate
...
Adds an +succ (successor) gate. Whilst .+ exists, it is impossible to use
in a point free style and doesn't compose functionally.
2021-04-27 10:24:21 +10:00
Philip Monk
66b4c3f193
Merge pull request #4677 from urbit/philip/fast-refresh
...
sys: Speed up things used in Landscape
2021-04-19 15:43:16 -07:00
fang
1ec5e5acfb
hoon: add +stap, path parser
...
And cleans up a bunch of locally hand-written implementations of it.
2021-04-07 21:14:13 +02:00
Philip Monk
7b55097ef4
hoon: memoize rend:co
...
We commonly print many names in a row, often the same ones. For
example, on landscape's initial load, we send all the members of all the
groups we're in, and there's substantial overlap.
At least half the cost is in +fein, which is not currently jetted, but I
believe there's an old jet in the git history.
2021-03-28 00:21:30 -07:00
Joe Bryan
549c5e5db9
hoon: update seminoun bunt to be fully blocked
2021-03-17 14:21:58 -07:00
Philip Monk
a5993cc3e7
Merge remote-tracking branch 'origin/release/next-hoon' into release/next-sys
2020-12-18 12:43:07 -08:00
Joe Bryan
6678e7313b
hoon: crash with valid tank on %eror
2020-12-15 18:22:51 -08:00
fang
0ef30e0360
hoon: add jet hint for +redo
2020-12-11 21:58:19 +01:00
Joe Bryan
4f79777e0b
hoon: reverts to 3e577d4ae7
2020-12-08 16:26:11 -08:00
Joe Bryan
563c2d4c06
hoon: restrict trap subject in +swat
2020-12-07 23:51:10 -08:00
Joe Bryan
c807769b9e
hoon: removes +ride printfs
2020-12-07 23:27:31 -08:00
Joe Bryan
fb403bf080
hoon: removes obsolete compiler hooks
2020-12-07 23:27:25 -08:00
Joe Bryan
3e577d4ae7
arvo: kelvins
2020-12-07 22:56:01 -08:00
Joe Bryan
115d4f9ac8
arvo: removes $monk
2020-12-07 00:42:09 -08:00
Joe Bryan
a08e196a95
hoon: avoid "fund: in/by" jet printfs by tweaking +map/+set/+qeu
2020-12-06 17:14:04 -08:00
Joe Bryan
ff06ccd2b9
arvo: completes scry reform
2020-12-06 03:33:43 -08:00
Joe Bryan
a5861a1349
hoon: moves |wa and $worm to arvo
2020-12-05 02:32:54 -08:00
Joe Bryan
d8a6c5e387
hoon: use +mole to virtualize +cue in |so
2020-12-05 00:51:49 -08:00
Joe Bryan
3a42c36298
hoon: adds +swat: deferred +slap
2020-12-04 22:46:02 -08:00
Joe Bryan
1e3378a7f5
hoon: fixes logic bug in date printer (truncation)
2020-12-04 21:38:39 -08:00
Joe Bryan
fa0680d201
hoon: updates +rap comment, removes jet-match hack
2020-12-02 01:21:55 -08:00
Joe Bryan
0e3941f146
hoon: updates +fil to bloq-truncate the repeated atom
2020-12-02 01:20:49 -08:00
Joe Bryan
b5ec0c30f0
hoon: renames +new-end, +new-lsh, +new-rsh
2020-12-02 01:00:09 -08:00
Joe Bryan
9e713a5e10
hoon: removes +end, +lsh, and +rsh
2020-12-02 01:00:09 -08:00
Joe Bryan
bec63413b0
hoon: adds +new-rsh, switches all +rsh call sites
2020-12-02 00:21:51 -08:00
Joe Bryan
089852e948
hoon: adds +new-lsh, switches all +lsh call sites
2020-12-02 00:21:38 -08:00
Joe Bryan
4f9cba2baf
hoon: adds +new-end, switches all +end call sites
2020-12-02 00:21:12 -08:00
Joe Bryan
181b1fbdb6
hoon: (and %zuse) use +run and +rut where appropriate
2020-12-01 18:26:18 -08:00
Joe Bryan
3f71826d6b
hoon: adds atom map gates +run and +rut
2020-12-01 18:19:07 -08:00
Joe Bryan
12bf28e2c8
hoon: adds +sew, inverse of +cut
2020-12-01 18:15:26 -08:00
Joe Bryan
0420dad443
hoon: removes +repn and +ripn
2020-12-01 18:11:59 -08:00
Joe Bryan
b27806769e
hoon: updates +rep and +rip to take a $bite
2020-12-01 17:52:43 -08:00
Joe Bryan
9bfc0e6492
hoon: adds $bite for atom slice specifiers
2020-12-01 17:14:10 -08:00
Joe Bryan
7a08067cf1
hoon: adds $step for bloq-sized atom offsets
2020-12-01 16:51:14 -08:00
Joe Bryan
17f95c0cb6
Merge branch 'm/remove-ketcen' into m/modern-hoon
...
* m/remove-ketcen:
u3: removes .fab from |ut hooks
hoon: patch up +ax callsites
u3: WIP removes fab:ut
hoon: WIP remove fab:ut
hoon: remove ^%
2020-11-30 20:08:17 -08:00
fang
732addadd3
various: touch up improperly rewritten comments
...
Also patches /mar/snip to be more correct, but a &snip [~ ~] in dojo
still does not work.
2020-11-27 13:25:40 +01:00
fang
eef09dd63b
hoon: remove deprecated character parsers
2020-11-26 17:43:54 +01:00
fang
8e57961183
hoon: remove {type} syntax
2020-11-26 17:43:42 +01:00
fang
a539d986a7
various: move away from {type} syntax
...
In favor of [type] syntax.
Turns a bunch of ++ into +$ along the way.
2020-11-26 17:43:26 +01:00
fang
ebe0feed50
hoon: remove face/type syntax
2020-11-26 17:38:20 +01:00
fang
44fb0cc19d
various: move away from face/type syntax
...
In favor of face=type.
2020-11-26 17:38:00 +01:00
fang
2545282d5e
hoon: remove $constant type syntax
2020-11-26 17:31:23 +01:00
fang
a6e7af38d5
various: move away from $constant type syntax
2020-11-26 17:31:06 +01:00
fang
194e8ae440
hoon: remove += and +- arm syntax
2020-11-26 17:27:30 +01:00
Joe Bryan
76451b54a3
Merge branch 'jb/re-mug-pre' into jb/candidate
...
* jb/re-mug-pre:
arvo: temporary, build +brass out of /not-sys
hoon: switches to new +mug
u3: adds new +mug (as u3r_gum_*)
hoon: adds new +mug (as +gum)
u3: updates +muk to truncate seed and removes spurious assertion
hoon: updates +muk to truncate seed and removes spurious assertion
2020-11-26 01:20:28 -08:00
Joe Bryan
cd3918b852
hoon: switches to new +mug
2020-11-26 00:32:52 -08:00
Joe Bryan
fc30df7401
hoon: adds new +mug (as +gum)
2020-11-26 00:31:25 -08:00
Joe Bryan
e2a33eee8d
hoon: updates +muk to truncate seed and removes spurious assertion
2020-11-25 00:43:34 -08:00
fang
3ff083e9db
hoon: patch up +ax callsites
...
Some were still passing in a value for fab, which is no longer used.
2020-11-24 21:12:43 +01:00
fang
79f698c3a9
hoon: add +snip and +rear
...
Helper functions for dealing with the ends of lists.
2020-11-24 15:41:36 +01:00
Joe Bryan
1a0b082de2
hoon: WIP remove fab:ut
2020-11-24 00:20:10 -08:00
Fang
1d644dc470
hoon: remove ^%
...
It's completely unused.
2020-11-24 00:05:44 -08:00
Joe Bryan
d6e5b19b3d
Merge branch 'na-release/candidate' into jb/no-wrap-tank
...
* na-release/candidate: (31 commits)
pill: change to ropsten
zuse: change to ropsten
pill: all
u3: fix accidental neologism in comments
pill: solid
u3: refactors dynamic hint bytecodes, documents protocol
u3: adds dynamic hint bytecodes and implementation
u3: moves _n_swap() next to other stack ops
u3: adds ghetto +mook replacement
u3: moves |ut battery to the rightmost cache key position
u3: adds |ut battery to jet cache keys
pill: solid
pill: solid.pill
hoon: bscl to bccl, etc
pill: solid
hoon: modernizes syntax in the rest of |co
hoon: updates @p rendering to avoid intermediate right-shifts
hoon: refactors @da/@dr coin printing
hoon: comments, modernizes syntax for all +*-co:co gates
hoon: refactors +r-co:co, modernizing syntax
...
2020-11-23 23:15:12 -08:00