Skip to content

fxsjy/wagon

 
 

Repository files navigation

wagon

Build Status codecov GoDoc

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

NOTE: wagon requires Go >= 1.9.x.

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 or 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.

Additional features

Based on the original go-interpreter version, the following features have been added.

  • Add instruction gas support, it is still a basic version can barely run.
  • Add lazy compiling and cache of compiled code which speed up big wasm code like go.

Contributing

See the CONTRIBUTING guide for pointers on how to contribute to go-interpreter and wagon.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.8%
  • Assembly 0.2%