Flesh out the README.md with more specific goals.
This commit is contained in:
39
README.md
39
README.md
@@ -1,6 +1,13 @@
|
|||||||
# Wasmtime: a WebAssembly Runtime.
|
# Wasmtime: a WebAssembly Runtime.
|
||||||
|
|
||||||
A standalone wasm-only runtime for [WebAssembly], using [Cranelift].
|
Wasmtime is a standalone wasm-only runtime for [WebAssembly], using the [Cranelift] JIT.
|
||||||
|
|
||||||
|
It runs WebAssembly code [outside of the Web], and can be used both as a command-line
|
||||||
|
utility or as a library embedded in a larger application.
|
||||||
|
|
||||||
|
[WebAssembly]: https://webassembly.org/
|
||||||
|
[Cranelift]: https://github.com/CraneStation/cranelift
|
||||||
|
[outside of the Web]: https://webassembly.org/docs/non-web/
|
||||||
|
|
||||||
[](https://travis-ci.org/CraneStation/wasmtime)
|
[](https://travis-ci.org/CraneStation/wasmtime)
|
||||||
[](https://ci.appveyor.com/project/CraneStation/cranelift)
|
[](https://ci.appveyor.com/project/CraneStation/cranelift)
|
||||||
@@ -9,19 +16,31 @@ A standalone wasm-only runtime for [WebAssembly], using [Cranelift].
|
|||||||
|
|
||||||
*This is a work in progress that is not currently functional, but under active development.*
|
*This is a work in progress that is not currently functional, but under active development.*
|
||||||
|
|
||||||
Goals include:
|
One goal for this project is to implement [CloudABI](https://cloudabi.org/) using
|
||||||
- Be a general-purpose engine for running WebAssembly code [outside of browsers],
|
WebAssembly as the code format, provide [CloudABI system calls] as WebAssembly
|
||||||
usable both standalone or as a library embedded in a larger application.
|
host imports, and then port the [Rust CloudABI package] and [CloudABI libc] to it
|
||||||
- Support a variety of host APIs with fast calling sequences.
|
to support Rust, C, C++, and other toolchains.
|
||||||
- Prototype syscall APIs that can be proposed for use in the WebAssembly
|
|
||||||
|
CloudABI is a natural complement for WebAssembly, since WebAssembly provides
|
||||||
|
sandboxing for code but doesn't have any builtin I/O, and CloudABI provides
|
||||||
|
sandboxed I/O.
|
||||||
|
|
||||||
|
[CloudABI]: https://cloudabi.org/
|
||||||
|
[CloudABI system calls]: https://github.com/NuxiNL/cloudabi#specification-of-the-abi
|
||||||
|
[Rust CloudABI package]: https://crates.io/crates/cloudabi
|
||||||
|
[CloudABI libc]: https://github.com/NuxiNL/cloudlibc
|
||||||
|
|
||||||
|
Additional goals for Wasmtime include:
|
||||||
|
- Support a variety of host APIs (not just CloudABI), with fast calling sequences,
|
||||||
|
and develop proposals for system calls in the WebAssembly
|
||||||
[Reference Sysroot](https://github.com/WebAssembly/reference-sysroot).
|
[Reference Sysroot](https://github.com/WebAssembly/reference-sysroot).
|
||||||
|
- Implement the [proposed WebAssembly C API].
|
||||||
- Facilitate testing, experimentation, and development around the [Cranelift] and
|
- Facilitate testing, experimentation, and development around the [Cranelift] and
|
||||||
[Lightbeam] JITs.
|
[Lightbeam] JITs.
|
||||||
- Develop a the native ABI used for compiling WebAssembly suitable for use in
|
- Develop a the native ABI used for compiling WebAssembly suitable for use in both
|
||||||
both JIT and AOT to native object files.
|
JIT and AOT to native object files.
|
||||||
|
|
||||||
[WebAssembly]: https://webassembly.org/
|
[proposed WebAssembly C API]: https://github.com/rossberg/wasm-c-api
|
||||||
[outside of browsers]: https://github.com/WebAssembly/design/blob/master/NonWeb.md
|
|
||||||
[Cranelift]: https://github.com/CraneStation/cranelift
|
[Cranelift]: https://github.com/CraneStation/cranelift
|
||||||
[Lightbeam]: https://github.com/CraneStation/lightbeam
|
[Lightbeam]: https://github.com/CraneStation/lightbeam
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user