型のあるコード
Highは字下げで処理のまとまりを表す構文です。引数と戻り値に型を書き、変数の型は値から推論します。
基本の書き方開発中のプログラミング言語
Nagi(ナギ)は、Python風の構文と型付きのコードでバックエンドを書くための開発中の言語です。HTTP・JSON・SQLiteには標準APIを使い、必要に応じて小さなRustアダプターで既存ライブラリを組み合わせられます。
Nagi 0.2.0を公開しました。開発状況を見る
def double(number: i64) -> i64:
return number * 2
def main():
answer = double(21)
print(answer)
mainからdouble(21)を呼び出し、42を表示します。
コードと実行の仕組み
Highは字下げで処理のまとまりを表す構文です。引数と戻り値に型を書き、変数の型は値から推論します。
基本の書き方DB操作などはResultで成功かエラーを返します。独自のエラー型を作り、処理を分けられます。
エラー処理Rustコードを生成し、Rust/Cargoで実行ファイルを作ります。手書きのRustアダプターで、既存のcrateをNagiの型やextern宣言につなぎます。
importとRust連携動くサンプル
入力を受け取り、型付きの失敗を伝え、境界値を試すCLIアプリを作れます。
最初のCLIアプリHTTP・JSON・SQLiteを使うAPIや、actorのメッセージ処理とSupervisorの再起動を試せます。
サンプルプロジェクト一覧VS Code拡張はMarketplaceまたはGitHub Releasesから入手できます。IntelliJ IDEA・PyCharm向けのNagiはJetBrains MarketplaceまたはGitHub Releasesから入手できます。Marketplaceから対応IDEへ直接インストールするか、両IDE共通のRelease ZIPを手動で導入できます。エディターの導入を見る
名前の由来
内部は激しく動いていても、
表面は凪のように穏やか。
書く人が触れるコードは穏やかで、見通しがよいものにしたい。その考えを名前に込めています。
開発状況
文法と標準APIは今後変わることがあります。目的と現在の実装範囲を確認してください。
LowはHighと同じ型・所有権規則を使う波括弧構文で、関数差し替えにも使えます。ポインター操作やunsafeは未対応です。HighとLowについて
Windows x64、Linux x86_64、macOS Apple Silicon、macOS Intel用の配布物があります。nagic build/runにはRust/CargoとOSに応じたビルドツールが必要です。