/wr

SUPER ESOTERIC‽ A WebAssembly runtime written in: 👇

Primary LanguageHaskellMIT LicenseMIT

wr

(w)ebassembly (r)untime

Introduction

wr is a WebAssembly runtime written in Haskell. This project is primarily focused on learning, research, and exploration of WebAssembly internals and Haskell.

The project is not intended to be used in production.

Motivation

  • Understanding WebAssembly specification through implementation
  • Exploring Haskell's capabilities in system programming
  • Creating a fun and educational playground for WebAssembly experiments

Project Status

This project is in the early stages of development. The following features are currently being worked on:

  • WebAssembly Binary Format Parser (almost done)
  • WebAssembly Interpreter (not yet started)

Long-term Goals or Ideas

  • Features

    • Multi-Memory
    • Reference Types
    • Multi-value Returns
    • Bulk Memory Operations
    • Garbage Collection
    • Exception Handling
    • Threads and Atomics
    • SIMD
    • WASI
  • Performance

    • Streaming Compilation/Instantiation
    • JIT Compilation
    • Optimization Passes
    • Parallel Execution

daydreaming...

Getting Started

(WIP)

License

MIT License

...

Lost all my precious
Rage ate me up
Endless forlornness has made me numb
I'd rather rise from here
Or should I hold on to my past?

They’ve burnt to ashes
Faded to grey
Returned to the earth
Yes it's meant to be
Uncertain flame of hope I found
Will you lead me back on the right track?