home.social

#wast — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #wast, aggregated by home.social.

  1. In this interview with Aidan Baker, Mariam Yusuf describes how she helped celebrate Refugee Day with a vibrant event in Manchester Central Library, showcasing storytelling, poetry, and diverse cultural performances.
    #RefugeeWeek #WAST

    eastangliabylines.co.uk/featur

  2. Shwmae pawb. I'm looking for a new digital home. My interests? Many, but this profile will be limited mostly to #music (#gwerin), volunteering (#wast, #sjac, first aid) and local things in Wales (stwff bro). I might toot. I don't know yet. But it might be in English or Gymraeg. Sa i'n gwybod 'to.

    #croeso

  3. So uhh...

    Today's #projects is the first known to me #webassembly runtime in #lean4 complete for a tiny subset of #wasm.

    I'm going to keep going deep before refactoring and supporting the entire bredth of the standard.

    When people tell you that #wasm is a simple VM they don't lie. The problem is that it's still a pretty big VM with a lot of features. Implementing it is approximately as easy or as hard as implementing a C99 compiler.

    I mean, it's sort of easier, but maybe twice as easy. Not by an order of magnitude.

    That's why I strongly suggest the following path for implementers:

    1. Read the whole spec and try to understand it. Read some blog posts, play with wasmer like it's shown in some example repositories[1].
    2. Implement a #wast parser into Exprs. Ignore #wat.
    3. Implement a thing that instantiates and runs Exprs.

    After you experimented with your runtime enough, you'll be able to easily extend it with binary capabilities. I made a mistake of supporting emitting binary format before writing the runtime and while it was a nice, fun and necessary experience that allowed me to learn way more about wasm binary encoding, it didn't inform the architecture for the runtime and by the time I started runtime, deadlines were tighter than I'd like them to be, so my architecture is garbage.

    But runtime architecture is the most important architectural decision you'll be making while implementing #wasm runtime, so don't repeat my mistakes and work on it first.

    After you're happy with all the important bits, write binary serealisation / desearialisation with an assistance of hexdumps of the files you made in (1).

    [1]: github.com/cognivore/wasm-sand