b4rti / zasm

ZASM is a simple, blazingly fast runtime for WebAssembly and WebAssembly System Interface (WASI) written in Zig.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ZASM (WIP - ver. 0.0.0)

Name is a work in progress and is subject to change.

ZASM is a simple, blazingly fast runtime for WebAssembly and WebAssembly System Interface (WASI) written in Zig. It is optimized for being embedded as a plugin system for games and other high-performance applications.

Table of Contents

Introduction

ZASM is designed to provide a lightweight and efficient runtime for WebAssembly and WASI. It is intended to be used as a plugin system for games and other high-performance applications that require fast and efficient execution of WebAssembly modules.

Features

  • Simple and lightweight runtime for WebAssembly and WASI
  • Blazingly fast performance
  • Optimized for embedding as a plugin system
  • Easy to use API

Getting Started

To get started with ZASM, you will need to have Zig installed on your system. Once you have Zig installed, you can clone the ZASM repository and build the runtime using the following commands:

git clone https://github.com/your-username/zasm.git
cd zasm
zig build

This will build the ZASM runtime and generate a static library that you can link to your application.

Usage

To use ZASM in your application, you will need to link against the static library generated by the build process. You can then use the ZASM API to load and execute WebAssembly modules.

Here's an example of how to load and execute a WebAssembly module using ZASM:

const Module = @import("zasm").Module;

pub fn main() !void {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    const allocator = gpa.allocator();
    const module = try Module.fromPath(allocator, "path/to/your/module.wasm");
    // TODO: Implement decoding and execution of the module.
}

Contributing

Contributions doesn't make sense at this point in time, but feel free to open an issue if you have any questions or suggestions.

License

ZASM is licensed under the MIT License. See the LICENSE file for details.

About

ZASM is a simple, blazingly fast runtime for WebAssembly and WebAssembly System Interface (WASI) written in Zig.


Languages

Language:WebAssembly 86.8%Language:Python 4.2%Language:OCaml 3.8%Language:JavaScript 2.5%Language:Bikeshed 0.8%Language:Shell 0.7%Language:Perl 0.3%Language:Rust 0.3%Language:Makefile 0.2%Language:Batchfile 0.2%Language:HTML 0.1%Language:C 0.0%Language:Zig 0.0%Language:CSS 0.0%Language:TeX 0.0%Language:TypeScript 0.0%Language:Standard ML 0.0%Language:Assembly 0.0%