组件
Soup 由多个可执行工具与运行时组件组成,右下角角标颜色区分。

soupx
解释器动态链接版,默认推荐。直接运行脚本 / .sar 归档,绿色角标。

soup
解释器·静态单文件自包含,无需外部 dll,青色角标。

soupc
编译器静态类型编译 .sky;.tl/.ssf/.tk 经 orangetl 转译;可加壳打包。蓝色角标。

soupc_static
编译器·静态静态自包含编译器,无外部依赖。

soupack
打包器打包 .sar / 自解压 SFX 可执行文件,一键分发。橙色角标。

soupkg
包管理器包管理(Luafun安装/查询),灰蓝色角标。现为 BamZap 的兼容别名(soupkg = bamzap)。

soupdbg
调试器源码级调试,支持 .sar 解压调试、断点/单步/栈查看。红色角标。

soupwasm
WebAssemblywasm 模块加载/实例化/调用(cubes 后端)。

soupg
WebUI 宿主以系统 WebView(WebView2 / WKWebView / webkit2gtk)承载 webui 页面,作为桌面 GUI 宿主运行;含静态版 soupgx。soupwebui 即其网页界面形态。

sup
工具链 dispatcher统一调度器:一条命令调用 soupx/soupc/soupack/soup/soupg 等整套工具链(Rust 实现)。

souparmor
加密装甲开发时加密工具:将脚本/资源加壳为受保护的 .sarm,紫色盾形角标。

soupcerted
授权运行器解密并运行 .sarm 装甲包,按授权约束调起解释器;与 souparmor 配套。

soupdec
反编译器字节码反编译器:将 Soup/PUC-Lua 5.5 字节码还原为可读的 Lua 源码(Rust 实现)。

soupmake
构建系统项目构建系统:自包含 SFX 可执行,驱动 Soupfile 完成编译/打包/分发。

bamzap伴生孵化
包管理·分发Soup 伴生孵化项目:内容寻址对象池 + 后量子签名(soupq)+ HTTPS 分发 + 声明式部署(HetuFile)。半独立于 Soup,单 .sar 分发,soupmake 构建。

soupq
后量子签名SPHINCS+ 风格后量子无状态哈希签名(WOTS+/XMSS/Hypertree),底层 SM3(libsmx)。公钥 192B / 签名最大 9904B。

sml
标记语言{ ❄ } Soup Markup Language:JSON/YAML 替代品。引号可选 · 片段继承 · $env 内联 · 多语言库(Lua/Rust/C/JS)。
功能
国密套件
内嵌 SM2/SM3/SM4-GCM,加解密、签名、密钥协商开箱即用(smx 模块)
契约 & Result
约束声明与校验,Ok/Err 错误传播,可组合、可静态检查
FFI
LuaJIT 风格 load/cdef/cast 调用任意原生库(cffi 模块)
WebAssembly
加载并调用 wasm 模块,多后端(soupwasm / cubes)
安全沙箱
隔离执行不可信代码,限制资源与操作(sandbox 模块)
静态类型
soupc 编译 .sky 静态类型源码,运行期零开销类型检查
原生 GUI
egui 桌面窗口:按钮/表单/布局/中文字体/缩放/Material 主题(segui 模块)
多线程
lanes 并发与 linda 通道(可选后端)
网络
LuaSocket 风格 TCP/UDP + QUIC(socket 模块 / socket.quic)
事件循环
libuv 事件循环:timer/TCP/UDP/fs/进程(luv 模块)
下载
当前版本:0.1.0alp&l551(基于 Lua 5.5.1,首个 alpha 版)
统一通过 Gitee Release 发布(仓库:https://gitee.com/snoware/soup为运行时、sdk.zip 为开发包。
SRE · 运行时
macOS 自带 WKWebView;Linux 需安装 webkit2gtk(如 apt install libwebkit2gtk-4.1-dev);Windows 已内置 WebView2。soupg 依赖系统 WebView,无需单独下载运行时。
内置模块
全部内置模块一览(点击进入各模块 API)。
package
模块系统:require/搜索路径/loadlib(含原生 C 库加载)
coroutine
协程:create/resume/yield/status/wrap
debug
调试接口:getinfo/sethook/getlocal/upvalue 操作
io
文件与流式 I/O:open/lines/read/write
math
数学库:随机数/三角函数/取整/取整类
os
操作系统接口:时间/时钟/进程执行/环境变量
string
字符串处理:模式匹配/格式化/字节操作
table
表操作:insert/remove/sort/concat/move
utf8
UTF-8 编码处理:字符迭代/编码/长度
smx
国密套件:SM2/SM3/SM4-GCM/ECDH(后端 smx.dll)
cffi
FFI:load/cdef/cast/new/string/sizeof(后端 cffi.dll)
wasm
WebAssembly:加载/实例化/调用 wasm 模块(后端 soupwasm.dll)
contract
契约与 Result 元数据:约束声明与校验
result
Result 类型:Ok/Err 与错误传播
sandbox
受限执行沙箱:隔离运行不可信代码
stdlib
标准库扩展:额外实用函数;含子模块 std.zstd(zstd 压缩)、std.result(复用 result 模块)(常与 package 一起预加载)
socket
网络套接字:TCP/UDP/连接/收发(后端 LuaSocket),含 QUIC 子模块 socket.quic
streams
simpleui
webui
luv
libuv 绑定:事件循环/timer/TCP/UDP/fs/进程(后端 luv.dll)
quic
QUIC 协议(RFC 9000):基于 quinn,可经 require "quic" 或 socket.quic 访问
sdbg
跨平台反调试/自我保护:检测调试器、禁止附加、单实例锁、受保护调用(Windows + POSIX)
dll
外部 DLL/共享库的 Lua 模块加载器:把任意外部 dll 按约定入口注册成 Lua 模块(复用 package.loadlib)
SMTP 邮件客户端 + 本地重发队列(resend):简便收发信,多收件人,失败自动重试并指数退避(独立 dll 库)
posix
POSIX 系统接口(builtins/luaposix):进程(fork/wait/exec)、信号、文件(dirent/fcntl/stat)、套接字(sys.socket)、unistd、termios、pwd/grp 等完整 POSIX 调用(仅 POSIX 系统可用)
文档
致谢
Soup 开发
S.A. @SOrg::SNOWARE
核心语言
Lua 5.5.1 — R. Ierusalimschy, L. H. de Figueiredo, W. Celes (PUC-Rio)
静态类型
Teal (tl) — labs.eleven.io;orangetl — purplesyringa (Anna K.)
FFI
LuaJIT ffi — Mike Pall;libffi — Anthony Green 等
压缩
zstd — Meta(Facebook)
原生 GUI
egui / eframe / wgpu — Emil Ernerfeldt
多线程 lanes
主要开发者:Benoit Germain(Lua Lanes 项目)。
国密后端
libsmx — 黄鑫泰(字节跳动),SM2/SM3/SM4-GCM 国密套件 Rust 实现
WebAssembly
wasm-micro-runtime (WAMR) — 英特尔与字节码联盟
事件循环
luvit + luvi — luvit 团队(内嵌 libuv / luvi C 运行时)
自研组件
smx(契约)· soupack · c2/cubes — S.A. @SOrg::SNOWARE