Zetavm
Multi-Language Platform for Dynamic Programming Languages
Install / Use
/learn @zetavm/ZetavmREADME
ZetaVM
Please note that ZetaVM is currently at the early prototype stage. As such, it is incomplete and breaking changes may happen often.
Requirements:
- GNU Make
- GCC 5.4+ (Linux) or clang (OSX), or cygwin (Windows)
- Optional: autoconf and pkg-config, if needing to edit the configure file
- Optional: sdl2, if wanting to use audio and graphics capabilities
- Optional: Python 2 is needed to run the benchmark.py script
Installation
# Clone this repository
$ git clone git@github.com:maximecb/zetavm.git
# Run the configure script and compile zetavm
# Note: run configure with `--with-sdl2` to build audio and graphics support
$ cd zetavm
$ ./configure
$ make -j4
# Optionally run tests to check that everything works properly
$ make test
Basic Usage
# To run programs, pass the path to a source file to zeta, for example:
$ ./zeta benchmarks/fib.pls -- 29
# To start up the Plush REPL (interactive shell),
# you can run the Plush language package as a program:
$ ./zeta lang/plush/0
About ZetaVM
ZetaVM is a Virtual machine and JIT compiler for dynamic programming languages. It implements a basic core runtime environment on top of which programming dynamic languages can be implemented with relatively little effort.
Features of the VM include:
-
Built-in support for dynamic typing
-
Garbage collection
-
JIT compilation
-
Dynamically growable objects (JS-like)
-
Dynamically-typed arrays (JS/Python-like)
-
Integer and floating-point arithmetic
-
Immutable UTF-8 strings
-
Text-based code and data storage format (JSON-like)
-
First-class stack-based bytecode (code is data)
-
Built-in graphical and audio libraries
-
Coming soon: built-in package manager
Zeta image files (.zim) are JSON-like, human-readable text files containing objects, data and bytecodes to be executed by ZetaVM. They are intended to serve as a compilation target, and may contain executable programs, or libraries/packages.
More Information
A recording of a talk about ZetaVM given at PolyConf 2017 is available.
For more information, see the documentation in the docs directory:
There are also a few blog post about Zeta and its design.
For additional questions and clarifications, open a GitHub issue and tag it as a question, or join the ZetaVM Gitter chat.
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。

