2
<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&#39;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&#39;m like &quot;this HTML page is so hard to read and navigate, I&#39;ll switch to the PDF ahh that&#39;s better&quot;</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 &quot;how do I build a functional WASM runtime&quot; and &quot;how do I generate correct WASM binaries&quot; 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&#39;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&#39;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 &quot;sit down and understand how it all works&quot; standpoint it&#39;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&#39;s sake this is worse than LLVM IR</p>