Feature map#
Nupp keeps its advanced facilities in ordinary functions, modules, and build targets. This map points from a goal to the page that owns its rules.
local record Job
name: string
attempts: integer
end
local pending = new Job(name = "index", attempts = 0)
print(pending.name)Language#
- Gradual typing moves annotated
.luainto.g.nupp, then raises the strict floor with.nupp. - Modules, named arguments, and switch expressions cover the main source-level additions.
- Comptime, comptime types, and reflection compute values and types during compilation.
- Types links records, structs, interfaces, unions, refinements, generics, packs, and narrowing.
Resources and foreign code#
- Ownership introduces borrowing, transfer, pinning, and deterministic cleanup.
- C interop covers declarations, header import, lifetime contracts, memory, and exported struct layouts.
- Schema-driven serde derives typed encoders and decoders, while structure-of-arrays storage keeps hot fields in compact columns.
Waiting and parallel work#
- Suspension lets one blocking-shaped API run directly or park under a host scheduler.
- Task scopes structure application concurrency within one runtime.
- Workers run exported functions in persistent isolated states on a bounded pool.
Performance and compute#
- Performance explains optimization levels, remarks, observable guarantees, and the eight named optimization passes.
- JIT trace checking and profiling distinguish code that did not record from code that recorded and ran slowly.
- Ahead-of-time compilation covers CPU kernels, SIMD, Lua-value construction, native artifacts, and Wasm side modules.
- GPU compute covers generated resident-buffer kernels, structured workgroups, tensor layouts, and the browser WebGPU profiles.
Projects and hosts#
- Project builds covers targets, dependencies, caches, standalone binaries, and static components.
- Portable libraries lower one checked source tree for LuaJIT or the portable Lua 5.1 surface.
- Embedding loads checked components into a C or C++ application through the Rust-owned SDK.
- Hot reload replaces compatible function bodies at explicit safe points.
- Integrations covers LuaRocks, LuaCATS, and LÖVE projects.
Libraries and tools#
Standard library maps the public modules for I/O, networking, data, parsing, memory, GPU compute, model assets, and workers. Tooling maps checking, building, testing, formatting, documentation, editor services, diagnostics, coverage, migration, ownership audits, and compiler inspection.