# SoupLang **Repository Path**: snoware/soup ## Basic Information - **Project Name**: SoupLang - **Description**: 魔改后的lua 准备在自用中不断完善,成为一门通用的语言(看隔壁nelua) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-15 - **Last Updated**: 2026-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README This is Soup 5.5.1, a framework forked from Lua 5.5.1, released on 24 Jul 2026. For installation instructions, license details, and further information about Soup, see doc/readme.html. The original Lua license and copyright notice are preserved in doc/soup-copyright.txt. ## License Soup is distributed under the **Mulan Permissive Software License, Version 2 (MulanPSL-2.0)**. See the file [LICENSE](LICENSE) for the full text, and [NOTICE](NOTICE) for third-party component attributions and obligations. Copyright (C) 1994–2026 Soup.org, PUC-Rio; SNOWARE 2026. Built-in libraries, available via `require` (native backends are loaded lazily): smx - native SM cryptography (SM2/SM3/SM4-GCM/ECDH) [smx.dll] cffi - LuaJIT-FFI-compatible FFI (cdef/load/new/cast/invoke) [cffi.dll] contract - Design by Contract (require/ensure/invariant/wrap) result - Result type: Ok/Err error propagation sandbox - sandboxed execution of untrusted code wasm - load/call WebAssembly modules [soupwasm.dll] cubes - cubes component helper [cubes.dll] segui - native egui desktop GUI [egui.dll] luv - libuv event loop / TCP / UDP / fs / process [luv.dll] socket - LuaSocket-style TCP/UDP networking quic - QUIC protocol (RFC 9000, quinn + rustls TLS 1.3) [quic.dll] lanes - multithreading (lanes + linda) Documentation is generated semi-automatically: python doc/_doc.py # LUA->SOUP text normalization + modules.html API reference python doc/_doc.py --modules # only regenerate modules.html python tools/gen_site.py --sync # rebuild website + module API docs, sync to website/public/ Building on Windows (MSYS2 ucrt64 + Rust; pure Python driver): python build.py core # C core: soup55b.dll / soupx.exe / soupc.exe / soup.exe / soupc_static.exe python build.py rust # Rust plugins: zstd / smx / cffi / cubes / soupack / egui python build.py wasm # soupwasm.dll (first builds WAMR static lib libiwasm.a) python build.py soupc-static # soupc_static.exe (static self-contained compiler) python build.py builtins # pure-Lua builtins (lib/) python build.py soupdbg # debugger python build.py dist # package sre/ sdk/ saddons/ (missing wasm/soupc-static auto-built) python build.py site # generate website + docs python build.py all # everything: core + rust + wasm + soupc-static + builtins + soupdbg + dist + site Notes: - soupwasm.dll needs a UCRT cmake (mingw-w64-ucrt-x86_64-cmake) in addition to gcc/ninja; the WAMR static lib is cached at build/wamr/liblibiwasm.a. - zstd/smx/cffi/cubes/egui DLLs are archived to build//; `build.py dist` picks them up from there (no need to copy them into src/). - luv.dll is built by tools/build_luv.py (third_party/luv-master). Packaging (requires Rake): rake deb # build a Debian package (needs dpkg-deb; on Windows a stage tree is produced) rake release[arch] # bump version (release), clean, rebuild, and package (arch defaults to amd64) rake release[arch,part] # part = major|minor|release controls how the version is bumped