jordanhubbard/nanolang
A tiny experimental language designed to be targeted by coding LLMs
何を解決するか
NanoLang は、機械(例:LLM)によって書かれ、人間が読めるように設計されたプログラミング言語およびセキュアなランタイムです。プログラミング言語における曖昧さの問題に対処し、AIエージェントがコードを生成する際にエラーが発生するのを防ぎます。また、カスタムカーネルを必要とせずに、標準カーネル上でサービスをホスティングするためのセキュアで最小権限の環境を提供します。
動作方法
NanoLang は曖昧さのない構文と、Coq で形式的に証明されたコア意味論(型健全性、進行性、決定性をカバー)を使用しています。ネイティブパフォーマンスのために C にトランスパイル可能であり、スタックベースの仮想マシンである NanoISA VM で実行することもできます。NanoISA VM は危険な外部呼び出しを別プロセスで隔離することで、安定性を確保します。
対象ユーザー
形式的検証されたセキュアな言語を機械生成コード用に必要とする開発者、形式的検証やセキュアなランタイム、AI駆動開発の交差点に興味を持つ人々に向けられています。
特徴
- 形式的証明された意味論: Coq で機械的に証明されており、公理や承認された部分ケースなしに実装されています。
- NanoISA VM: FFI 呼び出しをコプロセスで隔離する検証済みバイトコード VM で、クラッシュがメインプログラムに影響しないようにします。
- 機械主導の最適化: 定数畳み込み、不要コード削除、プロファイルガイド付きインライン化をサポートします。
- セキュアなランタイム: なりすまし不可能な能力、POSIX サービスファブリック、セキュアなサービスホスティング用のトラップジャーナルを備えています。
- シャドウテスト: 関数定義に伴って必須のテストブロックで、設計段階からコードがテストされることを保証します。
- LLM対応: 機械読み取り可能な仕様(
spec.json)とトレーニングリファレンス(MEMORY.md)を備えており、LLM が正しく言語を書けるように支援します。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト