Remix.run Logo
spankalee 4 hours ago

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.