About Nagi
Nagi is a programming language for writing readable applications and compiling them into executables. It uses indentation for functions and blocks, then compiles through Rust.
Its name comes from the Japanese word 凪, meaning calm. The idea is that even when the internals are busy, the surface stays calm.
On this page
Writing applications
Use High, the .nagi format, for ordinary applications. It supports variables, functions, lists, classes, HTTP, JSON, and SQLite. Start with Setup and first run, then try the HTTP example or task management demo.
Borrow data for reading with view, return failures with Result, and make owned copies explicitly with copy. The syntax resembles Python, but importing Python libraries is not supported.
Adjusting generated code
Use Low to inspect generated code or replace a function. Low has explicit types and braces for blocks. See High and Low.
Development status
Nagi is currently in the 0.1 development series. Rust performs the final borrow checks, so a program accepted by Nagi's check can still fail to build. See the syntax reference for supported forms and the roadmap for remaining work.