Whole-known-network
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> </p><p>Half of software is knowing these random undocumented things unfortunately. </p><p>Documentation is almost a myth. Great when it's good, but it is rarely even passable.</p>
<p><span class="h-card" translate="no"><a href="https://chaos.social/@swetland" class="u-url mention">@<span>swetland</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> yeah I basically entirely agree with you</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> <span class="h-card" translate="no"><a href="https://chaos.social/@swetland" class="u-url mention">@<span>swetland</span></a></span> really startling to find a situation where I'm like "this HTML page is so hard to read and navigate, I'll switch to the PDF ahh that's better"</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> That definitely aligns with my experience trying to read it from a "how do I build a functional WASM runtime" and "how do I generate correct WASM binaries" standpoint. </p><p>Some notes from my initial encounters with it illustrate specific grumbles with the presentation:<br /><a href="https://chaos.social/@swetland/111271568378452789" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">chaos.social/@swetland/1112715</span><span class="invisible">68378452789</span></a></p>
<p><span class="h-card" translate="no"><a href="https://chaos.social/@swetland" class="u-url mention">@<span>swetland</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> yeah, I also found the spec difficult to navigate (to make it worse it has some obnoxiously resource-hungry javascript that renders formulas)</p><p>my understanding is that the spec is written with one main consumer in mind: people doing formal verification of the spec. the secondary consumer is people with a lot of PL experience writing runtimes. everyone else isn't really considered, in practice if not in theory</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> that being said, it's a pain, and even lowering LLVM IR to Wasm is... nontrivial. when I build Yosys (which has dozens or hundreds of `goto`s) to Wasm, LLVM spends about 10 minutes in codegen resolving those `goto`s to reducible control flow</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> Between that and how just incredibly convoluted the spec is (any needed piece of information on an opcode or how it works is inevitably spread between 3-5 different sections of the spec), WASM really makes my head hurt. There are some good ideas in there and people are doing good things with it, but from a "sit down and understand how it all works" standpoint it's a pain in the butt.</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@mcc" class="u-url mention">@<span>mcc</span></a></span> it allows for linear time verification, which is pretty important for the web, where anything you can encounter can be malicious. not having the equivalent of a zipbomb in my wasm engine is pretty important</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> fuck's sake this is worse than LLVM IR</p>