GitHub - sinisterMage/WPlusPlusWASM: a W++ version that compiles to webassembly

2 min read Original article β†—

πŸ¦₯ W++WASM – The Future of the Web?

A chaotic, Python-style scripting language for .NET… now running directly in the browser via WebAssembly.
Built with vibes, powered by sloths, and definitely not Visual Basic.


⚑ What is W++?

W++ is a high-level scripting language designed for learning, hacking, and meme-driven development.
Think: Python-like syntax, C#-powered backend, chaos-infused philosophy.

With W++WASM, we take it further:
No HTML. No CSS. No JS.
Just raw WebAssembly powered by W++ code.


πŸš€ Why W++WASM?

  • βœ… Full rendering logic in WASM
  • βœ… Built-in GC (mark & sweep in progress)
  • βœ… Powered by wasm_encoder and Rust
  • βœ… UI driven from JSON layout files (soon W++ DSL directly!)
  • βœ… No HTML/CSS/DOM required

This is not a framework.
This is a rebellion.


πŸ“¦ Folder Structure

WPLUSPLUSVM/ β”œβ”€β”€ parser/ # W++ core parser (C#) β”œβ”€β”€ wpp_gc_runtime/ # Rust-based mark & sweep GC (WIP) β”œβ”€β”€ wpp-wasm-runtime/ # WASM UI renderer β”‚ β”œβ”€β”€ index.html # Minimal HTML wrapper β”‚ β”œβ”€β”€ runtime.js # JS glue β”‚ └── ui.wasm # Output from Rust β”œβ”€β”€ out.box.json # Layout definition └── ui.wpp # Future W++-defined UI


πŸ› οΈ Getting Started

1. Build the WASM UI

cd wpp-wasm-runtime
cargo run

2. Run the demo

Serve index.html using any local server


🧠 How It Works

You define your UI in out.box.json (for now)

The wpp-wasm-runtime compiles a Rust backend using wasm_encoder

Each box is drawn using imported JS canvas calls (drawRect)

We simulate object allocation with gc_alloc while preparing for real GC integration

Accessibility & semantics to be layered via .map files (see roadmap)


πŸ“ˆ Roadmap

JSON layout rendering - done

Basic wasm-only rendering pipeline - done

Simulated memory allocation - done

Full GC (mark & sweep) - in progress

Semantic .map file generation - in progress

W++-powered UI DSL - soon

Accessibility tooling - soon

Full replacement of HTML, CSS, JS (πŸ‘€) - the dream


πŸ€” FAQ

Q: Is this practical? A: No, it’s W++.

Q: Will this dethrone HTML? A: Eventuallyβ„’.

Q: Why? A: Because we can.


❀️ Special Thanks

Everyone who starred the project (yes, all 3 of you)

Anyone brave enough to run a UI without the DOM


πŸ“œ License

MIT. Use it, break it, fork it, port it to your fridge.