Commit Graph

13983 Commits

Author SHA1 Message Date
drbeefsupreme
44aa90c9ad hoon: remove +hint:ax
all this did was set .nut. while it could be used with doccords, it is
currently unused, and none of the other values in the sample of _ax are
set this way (bug, def, cox, hay, dom). i experimented a little bit with
trying to make use of this but it made things overall more unreadable,
and it wouldn't make sense to do it without doing the same for other
values of the sample. im guessing this is just an old style.
2022-12-14 20:27:08 -05:00
drbeefsupreme
68c2ab5e25 hoon: fix .nut comment
notes aren't just for doccords, of course
2022-12-14 16:25:04 -05:00
drbeefsupreme
25dba7e672 hoon: remove extra hoon casts in +decorate
everything appears to work fine without them and I don't think it is any
less unclear what this gate is doing.
2022-12-14 16:02:41 -05:00
drbeefsupreme
a350b12c36 dprint: uncomment chapter names in _hunt 2022-12-08 14:39:41 -05:00
drbeefsupreme
d508c8c507 hoon: add comment about .nut in +ax 2022-12-07 16:17:57 -05:00
drbeefsupreme
fc8449d69e dprint: add casting to some _hunt arms 2022-12-07 15:20:23 -05:00
drbeefsupreme
627827f029 hoon: revise leap:docs and apse:docs
when +apse sees a link, it presume that the following a batch comment,
and stops parsing so that it can be picked up by apex:docs next

this required a change to +leap, which has been rewritten to pretty much
look like +gap but stop parsing when encountering doccords.
2022-12-06 14:30:31 -05:00
drbeefsupreme
b76134fb1d hoon: attach all untagged arm docs
previously we just threw them out and wasn't sure whether it was the
right answer. this violates the principle of least surprise - even
though it hard to see the value of attaching multiple empty $cuff notes
to an arm, we shouldn't stop the programmer from doing it without any
indication or explanation as to why. its the behaviour you'd expect
given how doccords is structured.
2022-12-06 13:16:45 -05:00
drbeefsupreme
75cf230d54 hoon: revise doccord intermediate parse structures
it is desirable for both apex:docs and apse:docs to parse into an
intermediate representation that never ends up in an AST so that it is
clear that these parsed representations may be altered in the future
without worrying about old types nesting with new types. this was
already the case for $whit, but apse:docs parsed directly as a $help,
which is used in ASTs. so apse:docs now parses as a $whiz, which is
simply a cord. in the future, if postfix comments are used for something
like invariants, or allow $links, we may want to change this.

this also changes $whit to remove .use, which was unused. similarly,
+glom is removed since its not used anywhere.
2022-12-06 12:12:45 -05:00
drbeefsupreme
3b6f0f5808 hoon: remove comment on batch arm docs above chap
this might actually be undesirable, don't want to leave this as a trap
for somebody in the future thinking we knew it was definitely the right
answer. having batch comments follow the chapter declaration does make a
certain amount of sense, stylistically
2022-12-05 18:13:42 -05:00
drbeefsupreme
ce209fc2c7 hoon: %gist spec doccords are tagged
future-proofing %gist specs by putting a %help tag on the $help. this
looks pointless at first glance, but it allows the opportunity for %gist
specs to have a $% in the future in a way such that the old type nests
with the new one, eliding the need for a typo->type migration
2022-12-05 18:03:22 -05:00
drbeefsupreme
4afdfdb689 hoon: remove unused $links
done for future-proofing purposes - don't want to presume how they will
get used in the future
2022-12-05 18:00:06 -05:00
drbeefsupreme
0ed484a6ef hoon: +seam and +scye doccords edit 2022-12-05 17:36:38 -05:00
drbeefsupreme
2f4b716475 dprint: fixes and refactoring of _hunt, signatures
some small issues and debugging tools. also puts some more doccords on dprint types.

also adds use the language server pretty printer to print the types of arms
2022-12-05 17:34:40 -05:00
drbeefsupreme
3c323783ca hoon: make some comments into doccords 2022-12-05 17:14:51 -05:00
drbeefsupreme
baa48948cf hoon: rune parser whitespace changes for docs
makes =; etc not eat doccords
2022-12-05 17:13:38 -05:00
drbeefsupreme
ca3140a8b3 hoon: doccord parsing fixes
addressing @Fang- comments on the parser
2022-12-05 17:13:03 -05:00
drbeefsupreme
f519b4caeb hoon: fix sig rune whitespace to allow doccords
without this, e.g.

~&  %foo
::    dox
1

wouldn't attach dox to 1 as a doccord
2022-11-30 13:39:50 -05:00
drbeefsupreme
ec74127a43 dprint: dont print (undocumented) on arms
style reasons
2022-11-29 15:22:34 -05:00
drbeefsupreme
0fbdd6808a dprint: refactor some printing logic
for maintainability
2022-11-29 14:23:57 -05:00
drbeefsupreme
df45bfbf84 hoon: ~master-morzod comments on doccords
TODO items from a pairing session
2022-11-23 17:46:53 -05:00
drbeefsupreme
387ae3e780 hoon: remove +vil
leftover from doccords :: syntax change no longer needed
2022-11-23 14:02:13 -05:00
drbeefsupreme
1fed185c29 dprint: refactor +find-item-in-type &co
+find-item-in-type and everything it called was pretty bad spaghetti and
it wasn't clear that it was doing this right thing besides that it
passed tests. this refactors most of that functionality into a door that
has the type and search terms as the sample, and should be much easier
to follow.

the remaining functionality related to arm docs ought to be refactored
as well
2022-11-22 17:59:31 -05:00
drbeefsupreme
1a69393df7 dprint: arms that build cores return core items
this makes it so that when an arm matches a search query in
+find-item-in-type, it checks to see if the arm builds a core with an
arm other than %$. if so, a %core item is returned rather than an %arm
item.

the name of the core will then be considered to be the name of the arm
that builds it
2022-11-21 17:20:28 -05:00
drbeefsupreme
64f64307f3 dprint: +find-item-in-type core name=summary
since cores can't be given names in v0 doccords, this changes the main
search function in lib/dprint to check if the summary of a core
description matches the search term, along with other appropriate
changes downstream of this.

still to be done: use .name in a %core item for either this summary name
or the name of the arm that built the core, if appropriate
2022-11-21 16:04:25 -05:00
drbeefsupreme
244d0d2b24 hoon: change apse:docs to parse as a $note
this is to handle potential future cases where doccords might be kinds
of notes other than %help notes. example: #6085 to document invariants
in clay.

$whit (used for apex:docs/batch comments) also ought to be changed but
im still thinking about what that should look like.
2022-11-18 13:53:10 -05:00
drbeefsupreme
06a7daa16f hoon: change %dict spec to %gist
no semantic changes. %dict was a temporary name
2022-11-16 10:58:10 -05:00
drbeefsupreme
618fc0fe5a Merge branch 'next/arvo' into jon/doccords 2022-11-15 18:34:10 -05:00
drbeefsupreme
c11d11e415 deco: revision to account for :: doccords syntax
see 2d5b29c73b
2022-11-15 18:25:57 -05:00
drbeefsupreme
f4a84caf30 hoon, dprint: remove |% and |@ core names
partial revert of 3d3ea61d53, which introduced core names by completing
an unimplemented feature that was already present in hoon.hoon. we've
decided to remove this for the initial launch since it violates the
principle of least surprise for the name of a core to end up in its
$garb and yet only be used for doccords, as opposed to something like a
wing resolution. it was also confusing that this only worked for |% and
|@.

this breaks two of the tests for the dprint library, which have been
commented out. these tests ought to be restored once dprint is rewritten
in order to implement a different way to refer to cores not built by arms
2022-11-15 18:25:57 -05:00
drbeefsupreme
bd69f09285 gen: add todo item to +help for doccords 2022-11-15 18:25:57 -05:00
drbeefsupreme
5fc3b3fd0f hoon, dprint: change doccords syntax to ::
this constitutes a pretty major rework of how whitespace is handled in
hoon in order to change the doccords syntax from :> and :< to ::.

in summary: throughout the hoon parser (+vast) many instances of +gap
have been replaced by +jump, which first tries to remove whitespace (+leap)
until it arrives at something that can be parsed as a prefix
doccord (+apex:docs:vast). if it does not encounter a doccord, it
instead uses +gap as normal.

if you follow along with the parser, you will notice that every time
jump is called, it then tries to call +apex:docs via +scye or +seam. if
apex:docs succeeds, it will end up consuming a newline at the end,
hiding the fact that there was valid whitespace from the parser. thus
+apex:docs then inserts a newline after successfully parsing a prefix
doccord, which will then be consumed by a subsequent invocation of +gap,
ensuring that there was proper whitespace if the doccord would have been
consumed by +gap instead of +leap.

there are a few other changes:

+hint in the compiler throws out doccords attached to %noun types. this
was already the behavior before doccords, and the change was made before
i understood what i was doing.

similarly for commenting out the %note case in +open:ap - this was an
earlier mistake

postfix comments for chapters are now enabled.

+expx was unused and removed in order to be rid of the
convention-defying +exp1. other unused +ex(p/q)* were commented out.

arms that handle batch comments (+glow and +whap) were refactored

+toad, which was used to change between tall and wide form, tries to
+jump before +gap. since +jump is ;~(pose leap:docs gap), i would have
thought that just using +jump there would be fine, but it fails for some
reason.

some parsers built with |@ were rewritten to use |*

|$ was made so that any doccords put on the spec are converted into hoon
doccords on the $ arm. it wouldn't compile otherwise. there's probably a
more principled way to do this but it works fine for now.
2022-11-15 18:25:29 -05:00
zalberico
9da139dada Fix typo setings -> settings 2022-11-15 09:47:13 -08:00
jose
1b4f045499
Merge pull request #6046 from urbit/lf/fix-cork
ames: prevent crashes when corking an alien flow
2022-11-15 08:43:46 +01:00
yosoyubik
3b5110ed1d ames: enqueue %cork in alien-agenda 2022-11-09 16:05:45 +01:00
Liam Fitzgerald
26aac7581a ames: prevent crashes when corking an alien flow
The +on-cork handler asserts that the peer is known to us. This is the
incorrect behaviour, because it will crash when corking a flow to a peer
that is still an %alien. This can happen, for instance, when making a
gall subscription for the first time and then corking it before the
alien naturalises.
2022-11-01 15:50:10 +10:00
Jared Tobin
7bffd0dd55
jets: patch u3di_apt to match changes in b0dedeec 2022-10-27 08:50:13 +04:00
Jared Tobin
3c0279af05
tests: add +apt:in test for set w/dupes 2022-10-27 08:50:13 +04:00
dachus
b0dedeecfe fix 2022-10-26 11:26:23 -06:00
dr-frmr
7563937e1f get full userspace desk 2022-09-29 14:43:31 -06:00
dr-frmr
29c10540aa make %swap-files poke use file-ovum properly 2022-09-29 14:29:28 -06:00
fang
bdf9f9d044
Merge pull request #5929 from urbit/jon/remove-dork
clay: remove $dork
2022-09-15 22:23:56 +02:00
fang
92d1b4c300
Merge pull request #5990 from xiphiness/patch-2
dojo dir validation: %ct scry at case da+now if imaginary case 0
2022-09-15 22:23:09 +02:00
fang
16f78af00a
Merge pull request #5982 from urbit/m/eyre-head-down
eyre: look for lowercase last-event-id header
2022-09-15 22:22:32 +02:00
fang
6abe91cd9c
Merge pull request #5808 from dnmfarrell/dnmfarrell/arvo-test-dont-require-a-list
pkg: -test shouldn't require a list of paths
2022-09-15 22:20:15 +02:00
Philip Monk
3eda93cac3
Merge pull request #5360 from urbit/m/new-desk
gen: add |new-desk for creating minimal desks
2022-09-15 11:20:31 -08:00
Edward Amsden
105710d54e
clay: remove stack tracing 2022-09-14 19:28:17 -05:00
Edward Amsden
4f8c851ef7
Don't print a stack trace for read-at-aeon-fail
We shouldn't get a clay stack trace for read-at-aeon-fail because that gives us miles of clay stack trace whenever hoon compilation fails
2022-09-14 19:26:21 -05:00
Liam Fitzgerald
06fc1897b7 @urbit/http-api: update version number 2022-09-13 13:00:30 -05:00
Liam Fitzgerald
6756d5768d @urbit/http-api: update version number 2022-09-13 12:56:47 -05:00