Welcome to the Swam website
WebAssembly implementation in Scala with cats.
This project defines several modules:
- The
coremodule 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
runtimemodule is a non-web embedding to instantiate and run WebAssembly modules. - The
textmodule is a library that makes it possible to manipulate text representation of WebAssembly modules.
It is not included in thecoremodule as text representation is more of a debug feature, and the runtime does not want to bring
that dependency with it. - The
wasimodule contains the library implementing WASI on top of cats-effect that can be imported by modules run within Swam. - The
climodule 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:
