|
| ▲ | publicdebates 7 minutes ago | parent | next [-] |
| If you're open to Forth, https://github.com/remko/waforth > WAForth is entirely written in (raw) WebAssembly*, and the compiler generates WebAssembly code on the fly. * https://github.com/remko/waforth/blob/master/src/waforth.wat |
|
| ▲ | veqq 31 minutes ago | parent | prev | next [-] |
| > compiles to wasm in less than 1Mb of wasm Janet, a Clojure-like Lisp compiles a whole playground of itself and the std lib in 823kb: https://janetdocs.org/playground https://codeberg.org/veqq/janetdocs/src/branch/master/public... you can do smaller for other things. |
|
| ▲ | tromp 3 hours ago | parent | prev | next [-] |
| Ben Lynn's page https://crypto.stanford.edu/~blynn/compiler/ compiles (a large subset of) Haskell to web assembly (which you can download; a prime number sieve yielded 40KB of code) and runs it in the browser. |
|
| ▲ | spankalee 3 hours ago | parent | prev | next [-] |
| I'm working on a TypeScript/Swift/Dart style language, and currently this hello-world is 1444 bytes: export let main = () => {
console.log("Hello, World!");
};
I'm trying to make that smaller. The binary includes the Console class, which is needed (I may be able to tree-shake the non log() methods away), but also the Error and IndexOutOfBoundsError classes which aren't needed because there are no catch() expressions.I think it really helps to have a language designed from the ground-up to obsess over bytes for WASM. Trying to do that with a familiar high-level language with a rich standard library is tricky. |
|
| ▲ | zamadatix 3 hours ago | parent | prev | next [-] |
| C based Mandelbrot WASM demos can be ~1 KB total. Assuming you mean a simple scripting language though, Assembly Script does exactly that. |
| |
| ▲ | spankalee 2 hours ago | parent [-] | | AssemblyScript ships its own garbage collector and doesn't seem to making progress on supporting WASM GC. |
|
|
| ▲ | mathisfun123 3 hours ago | parent | prev [-] |
| you can just compile c/c++ to wasm in the browser - there are wasi/emscripten builds of clang itself around (yosys, clang-repl, etc). |