currently on Introduction

Venice Program Table: Introduction

The Venice Program Table (VPT) is a compact, language-agnostic, versioned binary container for bundling multiple “program” modules (by name) together with their source code or bytecode. Initially designed for the Venice MicroPython runtime, it can also be used for other languages such as Lua or Haskell, enabling you to package and deploy a “module → bytecode” mapping as a single buffer that the runtime can validate and load efficiently. It is intended for use by custom language runtimes similar to Venice.

Why VPT?

High-level Structure

In this documentation and API, a “program” refers to a named payload: the payload is the module’s source code, bytecode, or whatever needs to be shipped; and the name is the name to be used by the language runtime.

A VPT consists of:

Producing and Consuming VPT

Design Notes

Use VPT whenever you need a reliable, portable way to deliver a bundle of named program modules to the VEX V5 programs.