Welcome to the Swam website
WebAssembly implementation in Scala with cats.
This project defines several modules:
- The
core
module is a library that makes it possible to manipulate binary representation of WebAssembly modules. In particular it contains:- a streaming parser for the binary format;
- a compiler from text to binary format.
- The
runtime
module is a non-web embedding to instantiate and run WebAssembly modules. - The
text
module is a library that makes it possible to manipulate text representation of WebAssembly modules.
It is not included in thecore
module as text representation is more of a debug feature, and the runtime does not want to bring
that dependency with it. - The
wasi
module contains the library implementing WASI on top of cats-effect that can be imported by modules run within Swam. - The
cli
module contains a CLI tool that allows to run the tools offered by Swam from the command line.
If you want more details, please refer to the CLI documentation, the examples, or the API documentation.
Installation
Artefacts are published on maven, use your favorite build tool to bring it into your project: