evo-lua / evo-runtime

General-purpose Lua programming platform and developer toolkit
https://evo-lua.github.io
Mozilla Public License 2.0
12 stars 1 forks source link
batteries-included c cpp libuv linux lua luajit macos runtime webgpu wgpu wgpu-native windows

evo-runtime

evo is an experimental Lua runtime built on LuaJIT and libuv, with batteries included.

Status

Functional, but not feature complete. See issues and milestones for future plans.

Features

Here's a selection of things you can do when running Lua scripts with Evo:

Not all of the included APIs are as user-friendly as I'd like, but that'll change.

System Requirements

The supported platforms are current versions of Windows, Linux, and macOS.

Automated testing covers all platforms equally:

https://github.com/evo-lua/evo-runtime/actions/workflows/ci-windows.yml/badge.svg https://github.com/evo-lua/evo-runtime/actions/workflows/ci-linux.yml/badge.svg https://github.com/evo-lua/evo-runtime/actions/workflows/ci-mac.yml/badge.svg

Development happens on Windows 10 and Ubuntu; macOS (especially M1) support is given on a "best effort" basis.

Compatibility

Evo is fully compatible with:

It is generally incompatible with:

I have no plans to support Lua engines other than LuaJIT at this time.

Repository Layout

In this repository, you'll find the following important directories:

After building, you'll additionally find a temporary directory containing all build artifacts here:

There's also config files for GitHub actions and other tooling in the project root - a necessary evil.

More Documentation

The documentation website (work in progress) can be found here:

If something's outdated, wrong, or missing, please open an issue!