WebAssembly runtime in TypeScript types
Top 20.2% on sourcepulse
This project provides a WebAssembly runtime implemented entirely in TypeScript types, enabling the execution of WebAssembly binaries without JavaScript. It targets developers interested in exploring the theoretical limits of type-level computation and demonstrating novel applications of TypeScript's type system, famously running a version of Doom.
How It Works
The runtime leverages TypeScript's type system to represent and execute WebAssembly instructions. Each instruction is translated into a corresponding type-level operation, processing data and control flow purely through type manipulations. This approach allows for the compilation of WebAssembly code into type definitions, effectively running computations at the type level.
Quick Start & Requirements
tsc
) is necessary. The project's complexity suggests a modern TypeScript version (e.g., 4.0+).Highlighted Details
Maintenance & Community
The project is primarily maintained by @dimitropoulos. The author expresses no intention for further development but is open to discussions and potential handover for future enhancements. Community interaction is encouraged via the MiTS Discord server's #doom channel.
Licensing & Compatibility
The README does not explicitly state a license. Given the nature of the project and its author's commentary, commercial use or integration into closed-source projects may require clarification.
Limitations & Caveats
The project is described as an "active crime scene" with no emotional attachment from the author, indicating it is not intended for robust production use. The author explicitly discourages PRs and has ceased active development, though they are open to consultation for future work.
4 months ago
1 week