Interface definitions for the Compute@Edge platform in witx.

Overview

🔗 compute-at-edge-abi

This repository contains witx definitions for the Compute@Edge platform ABI.

About witx

The witx file format is an experimental format which is based on the module linking text format (wit), (which is in turn based on the wat format, which is based on S-expressions). It adds some features using the same syntax as interface types, some features with syntax similar to gc types, as well as a few special features of its own.

witx is actively evolving. Expect backwards-incompatible changes, particularly in the areas where witx differs from wit.

The initial goal for witx is just to have a language suitable for expressing WASI APIs in, to serve as the vocabulary for proposing changes to existing APIs and proposing new APIs. Initially, while it uses some of the syntax and concepts from interface types, it doesn't currently imply the full interface types specification, or the use of the interface types custom sections.

We expect that eventually we will transition to using the full interface types specification, with witx having minimal additional features. Until then, the goals here are to remain aligned with interface types and other relevant WebAssembly standards and proposals wherever practical, and to be an input into the design process of interface types.

You might also like...
Transfer data with the LCU in the command-line interface! 🖥
Transfer data with the LCU in the command-line interface! 🖥

llux llux (short for LCU Lux) is an open-source CLI tool to easily transfer data with the LCU without any script or code setup, hehe! Preview Download

A cross-platform serial port library in Rust.

Introduction serialport-rs is a general-purpose cross-platform serial port library for Rust. It provides a blocking I/O interface and port enumeration

Cross-platform bookmarks manager for your shell
Cross-platform bookmarks manager for your shell

shellmark: bookmark manager for shell THIS IS AN EARLY ALPHA. It works for me, but requires better UX and more polish. shellmark is a cross-platform b

Cross-platform Window library in Rust for Tauri. [WIP]

Cross-platform application window creation library in Rust that supports all major platforms like Windows, macOS, Linux, iOS and Android. Built for you, maintained for Tauri.

A cross platform tool which instantly notifies about COVID vaccine availability.
A cross platform tool which instantly notifies about COVID vaccine availability.

💉 CoWIN Notifier 😷 A cross-platform tool written in rust, which instantly notifies users about COVID-19 vaccine availability at their regions. Curre

A rewrite of Phonelink for Windows Forms written in Rust, with cross-platform support.

phonelink-rs A rewrite of Phonelink for Windows Forms written in Rust, with cross-platform support. Usage Clone the repository and build, or download

A cross-platform launcher for Fish Fight 🐠
A cross-platform launcher for Fish Fight 🐠

Fish Fight Launcher A cross-platform launcher for Fish Fight. Features Install and launch (via GUI/CLI) Auto updates Mod management Download See avail

Rust no_std, embedded_hal board support package for the Electro-Smith Daisy platform.

Daisy Rust no_std, embedded_hal board support package for the Electro-Smith Daisy platform. This project was forked from antoinevg/daisy_bsp. Supporte

A cross-platform launcher for Fish Fight 🐠
A cross-platform launcher for Fish Fight 🐠

Fish Fight Launcher A cross-platform launcher for Fish Fight. Features Install and launch (via GUI/CLI) Auto updates Mod management Download See avail

Comments
  • Add auto_decompress_response_set host call

    Add auto_decompress_response_set host call

    With the newest 0.8.1 SDK release we need to move the host call to the public repo so that we can update Viceroy and fix https://github.com/fastly/Viceroy/issues/110. We just need to stub out the hostcall there, but it depends on this repo to have the latest definitions. This commit promotes the hostcall from an internal one to an external.

    opened by mgattozzi 1
  • Add close definitions for Response/Request handles

    Add close definitions for Response/Request handles

    This commit takes the changes from the internal repo and exposes them ahead of our new SDK release so that we can also update viceroy before then to be able to also handle the fact that handles have a new drop implementation for the Rust SDK that will automatically close themselves out when they go out of scope. If people use Viceroy with the new SDK version, then their programs will constantly crash and we can't have that happen.

    opened by mgattozzi 0
  • 👻 add empty workspace members array

    👻 add empty workspace members array

    This odd little commit is a workaround for a Cargo workspaces bug, described in rust-lang/cargo#6745; this workaround is described in a comment there1.

    When using this repository as a submodule, it becomes impossible to validate the definitions with the command below, if it contains a Cargo workspace:

    cargo run --manifest-path=validate-witx/Cargo.toml ./compute-at-edge.witx
    

    Moreover, we cannot always add the repo to the exclude array, for reasons explained in the attached Cargo issue.

    So, we'll introduce this empty workspace array, to avoid that issue for now.

    opened by cratelyn 0
Owner
Fastly
Fastly
Experimental Rust tool for generating FFI definitions allowing many other languages to call Rust code

Diplomat is an experimental Rust tool for generating FFI definitions allowing many other languages to call Rust code. With Diplomat, you can simply define Rust APIs to be exposed over FFI and get high-level C, C++, and JavaScript bindings automatically!

null 255 Dec 30, 2022
AVR device definitions

avrd AVR device definitons in Rust. Documentation This crate exposes information about different AVR microcontrollers so it can be used pragmatically.

The AVR-Rust project 32 Dec 28, 2022
A library for generating TypeScript definitions from rust code.

Tsify is a library for generating TypeScript definitions from rust code. Using this with wasm-bindgen will automatically output the types to .d.

Madono Haru 60 Dec 30, 2022
Rust implementation of the Edge IoT framework

A Rust-based implementation of Edge-rs for the Raspberry Pi Pico Getting started For more details see the following article on getting started for get

Jim Hodapp 4 Apr 14, 2022
A cross-platform serial port library in Rust. Provides a blocking I/O interface and port enumeration including USB device information.

Note: This is a fork of the original serialport-rs project on GitLab. Please note there have been some changes to both the supported targets and which

Serialport 128 Jan 4, 2023
Fusion is a cross-platform App Dev ToolKit build on Rust . Fusion lets you create Beautiful and Fast apps for mobile and desktop platform.

Fusion is a cross-platform App Dev ToolKit build on Rust . Fusion lets you create Beautiful and Fast apps for mobile and desktop platform.

Fusion 1 Oct 19, 2021
Command line interface to manage clipboard

cb Command line interface to manage clipboard How to install Pre-Compiled you can download a pre-compiled executable, then you should copy that execut

Navid 74 Dec 18, 2022
This plugin provides an interface for storing unencrypted values on the application cache folder.

Tauri Plugin Store This plugin provides an interface for storing unencrypted values on the application cache folder. Architecture This repo shape migh

Tauri 128 Jan 1, 2023
A Rust crate that provides a simple interface for LZMA compression and decompression.

rust-lzma Documentation This crate provides a simple interface to liblzma. LZMA is more commonly known as XZ or 7zip, (as in, files with the .xz or .7

null 52 Nov 26, 2022
A translator interface between VoiceMeeter/VBAN and the X-Touch

VBAN -> XCtrl translator This serves as a network based translator for interfacing the Behringer X-Touch with VoiceMeeter Potato. It is designed to ru

Ollie Nye 4 Sep 3, 2022