Home

Awesome

Swam Build Status Codacy Badge

Swam is a WebAssembly interpreter written in Scala with the cats library. It passes all the official specification tests. It is under an Apache 2 license.

Cats Friendly Badge

Join the chat at https://gitter.im/satabin/swam

Getting Started

To build it, we use mill. Mill is not packaged for all Linux distributions, but you can use curl to install it (see Installation instructions in the doc).

You can also use the mill wrapper provided in this repository with the recommended mill version. It will download mill for you if you do not have it already, and run it. To use it, replace following mill commands by ./millw

If you want to run the specification tests, just type:

mill runtime.test

It you want to test swam in a REPL session, just type tostart an ammonite shell with runtime project in classpath.:

mill -i runtime.console

If you want a REPL session with both runtime and text, the easiest way is to start a session for the runtime.test project:

$ mill -i runtime.test.console

Architecture

This project defines several modules:

If you want more details, please refer to the website.