Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/go-interpreter/wagon

wagon, a WebAssembly-based Go interpreter, for Go.
https://github.com/go-interpreter/wagon

go golang wasm webassembly

Last synced: 2 months ago
JSON representation

wagon, a WebAssembly-based Go interpreter, for Go.

Lists

README

        

wagon
=====

[![Build Status](https://travis-ci.org/go-interpreter/wagon.svg?branch=master)](https://travis-ci.org/go-interpreter/wagon)
[![codecov](https://codecov.io/gh/go-interpreter/wagon/branch/master/graph/badge.svg)](https://codecov.io/gh/go-interpreter/wagon)
[![GoDoc](https://godoc.org/github.com/go-interpreter/wagon?status.svg)](https://godoc.org/github.com/go-interpreter/wagon)

`wagon` is a [WebAssembly](http://webassembly.org)-based interpreter in [Go](https://golang.org), for [Go](https://golang.org).

**As of 2020/05/11 Wagon is in read-only mode, and looking for a maintainer.
You may want to look at https://github.com/mathetake/gasm instead.**

---

## Purpose

`wagon` aims to provide tools (executables+libraries) to:

- decode `wasm` binary files
- load and execute `wasm` modules' bytecode.

`wagon` doesn't concern itself with the production of the `wasm` binary files;
these files should be produced with another tool (such as [wabt](https://github.com/WebAssembly/wabt) or [binaryen](https://github.com/WebAssembly/binaryen).)
`wagon` *may* provide a utility to produce `wasm` files from `wast` or `wat` files (and vice versa.)

The primary goal of `wagon` is to provide the building blocks to be able to build an interpreter for Go code, that could be embedded in Jupyter or any Go program.

## Contributing

See the [CONTRIBUTING](https://github.com/go-interpreter/license/blob/master/CONTRIBUTE.md) guide for pointers on how to contribute to `go-interpreter` and `wagon`.