Docs contents

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.

Nagi 0.1 documentationPage source