* 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 |$
Our conversions to and from GMP structs and our indirect atoms (a
heap-allocated array of uint_32_t) used alloca() and copied twice out of
an apparent abundance of caution. This PR removes the unnecessary
intermediate copy from both conversions.
The -P argument makes urbit send itself SIGPROF every 10ms. Sample
profile data is interpolated into a structure on the home road, which is
summarized and printed when urbit exits gracefully. (Note that this
profile will be useless without the CPU_DEBUG build option).
As of v0.8.0, the profiling became much more awkward. The multi-process
shutdown doesn't include affordances for sending the profiling data over
IPC, so it just prints to the terminal after urbit appears to have
shutdown. This PR changes the profiling printout, unconditionally
writing it to a file in the pier (at .urb/put/profile/~DATE.txt).
We don't care about the static types in the use-cases where we need to
prevent scry (to prevent accidental data disclosure). We can evaluate
the expression, virtualized and untyped, and then just clam.
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.
Publish's %serve command makes builds for notes even if the
publish-info file is missing. It now crashes the build if the file is
missing with a one-line ?> asserting that the file is found in the
list of paths associated with the collection.
Updates all Landscape applications to use the
latest version of urbit-ob, from 3.1.1 to 4.1.2.
Removes urbit-ob from applications that don't
use it (Clock, Launch, Weather).
Compiled JS for all the above included in this
commit.
In Publish, users could get in a bad state if they made a post with
valid udon, and subsequently edited to contain invalid udon.
Furthermore, users subscribed to them would get in the same bad state.
This fixes the original bug, and users who are already in the broken
state will be able to run a recovery command: :publish %state-surgery
which will also fix the downstream broken state of their subscribers.