Warning
This project is still in development and is not ready for use.
I'm currently working on supporting the WebAssembly MVP (1.0) specification. You can see the current status in the graph below. The goal is to support all the features of the MVP specification and then move on to the next version.
std
Enables the use ofstd
andstd::io
for parsing from files and streams. This is enabled by default.logging
Enables logging using thelog
crate. This is enabled by default.parser
Enables thetinywasm-parser
crate. This is enabled by default.
- Interpreted Runtime (no JIT)
- Self-hosted (can run itself compiled to WebAssembly)
- No unsafe code
- Works on
no_std
(withalloc
the feature and nightly compiler) - Fully support WebAssembly MVP (1.0)
- Low Memory Usage (less than 10kb)
- Fast Startup Time
- Preemptive multitasking support
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in TinyWasm by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Note: The GitHub repository contains a Submodule (crates/tinywasm-parser/data
) which is licensed only under the Apache License, Version 2.0. This is because the data is generated from the WebAssembly Specification and is only used for testing purposes and is not included in the final binary.