wat-compiler
webassemblyjs
Our great sponsors
wat-compiler | webassemblyjs | |
---|---|---|
2 | 5 | |
18 | 768 | |
- | - | |
0.0 | 5.0 | |
over 1 year ago | 15 days ago | |
JavaScript | JavaScript | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wat-compiler
-
Understanding Every Byte in a WASM Module
For some time I've been fascinated by the codebase of a small WAT compiler written in JavaScript.
https://github.com/stagas/wat-compiler/blob/main/story.txt
And I mean "small" as a real complement to how readable the entire compiler is. It's also been a great way to appreciate the design of the WASM text format and WASM overall. It's not a Lisp but has a similar feel to it.
I've been meaning to get more fluent at writing WAT directly, not for any practical purpose but just for pleasure of it. I could see myself gradually building up some abstractions to help me deveolp larger programs, perhaps a slightly higher-level language.
-
Grain: WebAssembly-First Programming Language
I was also disappointed that this isn't included in the browsers given that it was designed to be very simple to parse and compile. So I tried as an exercise to build such a compiler[0] and indeed it was much easier than I expected (with a few shortcuts of course, being a POC). It is just 5kb gzipped and it compiles to binary most of the WAT code out there and also quite fast, just a few ms. That said, I think writing WAT by hand is only helpful for very small critical hot code, anything more complex and IMO you need an abstraction of some sort.
[0]: https://github.com/stagas/wel
webassemblyjs
-
the eye-opener commit
So now, to try to dig ourselves out of this fuckery we have to build emulation layers for the considered solution to run on the stupid solution.
-
Why can't I fill this array with single elements until heapsize is reached?
https://github.com/xtuc/webassemblyjs/issues/718 looks like it showed up in a fuzzing test on WASM too. Maybe a big with something upstream?
-
[AskJS] Feasibility of a pure JS argon2id hasher
There's no reason you can't just use a JS-based WebAssembly interpreter for Argon2 hashing. I'm pretty sure there are ways to actually use pure WASM or Rust in Cloudflare Workers too. But to be honest I can't think of any use cases where you'd need to run such an expensive hashing algorithm in a Cloudflare Worker; if you're trying to hash passwords this isn't the right solution anyway.
-
webassemblyjs VS adawebpack - a user suggested alternative
2 projects | 28 Dec 2021
- Bevy + Rapier WASM build with React GUI
What are some alternatives?
bytenode - A minimalist bytecode compiler for Node.js
sablejs - 🏖️ The safer and faster ECMA5.1 interpreter written by JavaScript
sia - Sia - Binary serialisation and deserialisation
js-ziju - Compile javascript to LLVM IR, x86 assembly and self interpreting
gc - Branch of the spec repo scoped to discussion of GC integration in WebAssembly
wasm-pandoc - Pandoc compiled into WebAssembly by Asterius. 📚
website - AssemblyScript's website and documentation.
aioli - Framework for building fast genomics web tools with WebAssembly and WebWorkers
localpdfmerger - Merge PDFs, optimize PDFs, and extract Information like Images from PDF Files locally inside your Browser
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
thislang - A subset of javascript implemented in that subset of javascript. Yes, it can run itself.
php-parser - :herb: NodeJS PHP Parser - extract AST or tokens