Docsの目次

Nagi Docs

初めて使うならインストールから最初のCLIアプリまで順に進めます。言語全体の道筋は言語機能索引、書式や関数を引くには文法・組み込み関数へ。

このDocsのcompiler基準版は2026-10-20に公開したNagi 0.2.0です。エディター拡張は別の版で管理します。エディターの案内を参照してください。公式サイトは通常mainから生成するため、その後の変更も含むことがあります。版ごとの差分はChangelogと0.2.0移行ガイドにあります。

目的と現在の範囲はNagiについてへ。以下のリファレンスは実装済みAPIの使い方と制限を示します。未実装の案は設計・開発予定に分けています。

このページの目次

初めて使う

  1. 準備と最初の実行でcompilerを用意し、Hello Worldを動かす。
  2. コードを書きながら学ぶで値・関数・配列・borrow・Resultを試す。
  3. 最初の小さなCLIアプリで、入力・型付きの失敗・境界値の手動確認を一続きで行う。
  4. HTTPでAPIを作り、SQLiteでデータを保存する。

VS Codeの使い方とJetBrains版の導入・Release ZIPの選び方も確認できます。

言語機能索引

まず用例を動かし、期待する結果を確認してから詳細ページで条件や制約を調べます。下の列は、各機能の利用目的、動く例と結果、誤りの直し方、使い分けを探す入口です。コード片は完全なプログラムとは限らないため、nagic runの手順がある節か、右端のサンプルを確認してください。

機能 使いどころ・動かす例と結果 制約・よくある誤りと直し方 使い分けと詳細
値、型注釈、代入・再代入 入門 #1:値と型で数値を更新し11を表示 型は最初の値から決まり、別の型へは再代入できない 型、値と変数
関数、引数、return、関数値 入門 #2:関数を定義するで42を返す 引数と戻り値の型を書き、実行文はmainから呼ぶ 関数構文、関数型
if、match、for、while、演算子 入門 #3:配列・class・分岐・繰り返しでOKと反復結果を表示 bool以外を条件にできない。break、continue、elifは未対応 分岐・loop・演算子、match
List、class、field、enum 入門 #3:配列・class・分岐・繰り返しとclass例で合計・field値を表示 Listは要素型を揃える。classは名前付きfieldで作り、method・継承・field再代入は未対応 型とenum、class
nullable T? / Option[T] 値がない場合の例でSomeとNoneを処理 両方をmatchする。unwrapやif value is not Noneの型絞り込みはない 型、match構文
Result[T, E]、try、match、独自Error 最初のCLIで入力失敗を伝え、入門 #5:失敗をResultで返すで回復例を読む tryはErrを呼出元へ返す。局所回復にはmatchでOk/Err両方を書く 失敗の種類と例、組み込み関数
ownership、通常代入での明示move、copy 入門 #4:viewで借りるで受渡し後の出力を確認 非Copyローカルの通常代入はmove(...)を使う。move後の元値は使えない 代入・move・誤り、移行
borrowとview view例で文字列の一部を読み、copyした値と比較 元データより長く保存・返却できない。一時値のviewを保存しない borrowと検査範囲、view
shared、owned、Copy 組み込み関数のshare/clone例 sharedは任意の型を自動でthread-safeにはしない。owned[T]は未完成 型、メモリ
ファイル、import、module alias 入門 #6:ファイルを分けるで2ファイルから関数を使う 相対パスと登録済みstd moduleが対象。循環importや一般package探索は未対応 module・Rust連携
async関数、await async例で待機後に表示 await自体はtask/threadを作らない。Futureを変数へ保存する形式は未対応 async、CPU並行処理
scope、spawn、Task結果handle scope例で子の終了を待つ 正常出口には子の終了規則がある。Taskはscopeの外へescapeできず、受取は一度 Task結果・Err・故障、scope
Actor、Supervisor 監視付きserviceで登録・呼出・停止を試す 同一process内のAPI。再起動、業務Err、call失敗、shutdownの条件を確認する actor、Supervisor、型API
HighとLow High/Lowの実行例 Lowも同じ型・ownership規則を使う。pointer/unsafe/C ABIを使う言語層ではない HighとLow、Rust連携
組み込み関数 関数一覧から引数と戻り値を探す。主要例は各節と動くsampleにある 引数の型、borrow/consume、同期/async、実行時条件が関数ごとに異なる 全組み込み関数、HTTP、SQLite

各ページは現在の実装と版の範囲に合わせ、用途、コード例と結果、条件・制約、誤った書き方と修正、近い機能との使い分けを載せるか、対応する節・sampleへ案内します。質問が複数の機能にまたがる場合はサンプルプロジェクト一覧も確認してください。

言語リファレンス

調べたいこと ページ
文法、演算子、関数の定義 文法の早見表
組み込み関数の引数・戻り値・制約 組み込み関数
型の種類と型注釈 型と推論
名前付きのデータ class
値を渡す、借りる、コピーする 所有権、view
失敗を返す・処理する エラー処理

アプリを作る

やりたいこと ページ
DBなしのHTTP、ヘッダー、応答status HTTP、APIリファレンス
JSONを読み書きする JSON
旧SQLite APIとSQLの事前検査 SQLite、SQLの事前検査
型付きparameters・Pool・transactionを使う SQLite PoolとTransaction
複数ファイルに分ける、Rustを呼ぶ importとRust連携
自作の共通コードやRustのcrateを使う ライブラリとRustの資産
入口やビルド設定を保存する nagi.toml
自分のRust crateをアプリから使う ローカルライブラリのサンプル
非同期処理を待つ、複数の処理を始める asyncとscope、並行処理
状態を持つ処理へメッセージを送り、再起動・停止を管理する actor、Supervisor、APIリファレンス
動くアプリを読む サンプルプロジェクト一覧
型・モジュール・呼び出しを図にする コードマップ

動かせる入門例はexamples/tutorial/にあります。リファレンスにはコードの断片も載せています。

入門のコードは現行の書き方です。明示moveとTask結果handleはNagi 0.1.11で公開済みです。利用するcompilerが0.1.11以降であることをnagic --versionで確認してください。移行ガイドとTask結果handleに使い方をまとめています。actorのshared messageは将来の設計対象です。

SQLite Pool/Tx APIは0.2.0に含まれます。0.1.11には含まれません。

仕組みと開発状況

Nagiについて · 設計判断 · Low · メモリ · コンパイラ · 他の言語との連携 · 開発予定

本体のfileを探し、小さい変更を実行・検証してPRにする手順は初めての貢献へ。

std.actorはNagi 0.1.8から使える標準ライブラリです。サンプルで登録・呼び出し・停止を試せます。旧actor/Supervisorの組み込み関数とキューは検証用APIです。性能を調べる場合は、測定方法、測定結果、通信の負荷試験を確認してください。

Nagi 0.2.0と現在のソースが対象です。版ごとの変更は変更履歴、未対応の機能は各ページに記載しています。

Nagi 0.2.0 · Docsこのページのソース