Repolode
kulics

kulics/koral

AI生成コードを人がレビューすることを想定した、明示的な構文とGC不要のメモリ管理を備え、Cにコンパイルする実験的なプログラミング言語。

スター
418
フォーク
27
未解決の Issue
0
最終コミット
5 時間前

これは何?

Koralは、コードの多くがAIエージェントによって生成されるようになった一方で、人がそれを読まなければならないという考えを軸にしたコンパイル型プログラミング言語です。間違いにつながる余地を減らす構文を採用しており、すべての文は明示的なセミコロンで終わり、ミュータビリティは型で一度だけ宣言し、モジュールレベルの名前には単一の所有者がいます。また、エラー処理はthrow、try、catchではなく、式の中にインラインで記述します。

ガベージコレクターも手動のfreeも使わずにメモリを管理します。名前付き型は、イミュータブルな`type`または共有可能な`type mutable`のいずれかで宣言し、メモリの扱いはその選択に応じて決まります。コンパイラーはCを出力し、プロジェクトでは幅広いプラットフォームとの互換性を目指すものと説明しています。この言語には、代数的データ型、網羅的パターンマッチング、トレイト制約付きジェネリクス、トレイトオブジェクト、C FFI、`defer`が含まれます。

このプロジェクトは実験段階であり、まだ本番利用には対応していません。コンパイラーはセルフホスティングで、Koral自体で書かれており、凍結されたSwift製の参照コンパイラーからブートストラップされています。

主な機能

  • 01文は明示的なセミコロンで終わり、importには単一の`using`形式を使います。
  • 02ガベージコレクターや手動のfreeを使わず、`type`と`type mutable`に基づいてメモリを管理します。
  • 03`if`、`when`、`while`、`for`などの制御フローは式ベースで、網羅的なパターンマッチングに対応します。
  • 04エラーは`or else`、`and then`、`or return`を使ってインラインで処理します。
  • 05Cにコンパイルでき、raw pointerと`defer`を使えるC FFIを備えています。

ユースケース

  • AI生成コードをレビューしやすくすることを目指した言語を試す。
  • セルフホスティングコンパイラーやCバックエンドを含む、コンパイラー設計を学ぶ。
  • ガベージコレクターを使わないメモリ管理を試す。

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/kulics/koral.git
  2. 2

    凍結版のSwift参照コンパイラをビルドする(Swift toolchainが必要)

    swift build -c release --package-path compiler-reference
  3. 3

    参照コンパイラを使ってセルフホスティングコンパイラをビルドする

    compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler

使う前に知っておきたいこと

  • 実験段階であり、まだ本番環境での利用には適していません。
  • ビルドにはSwift toolchain、clang、Gitが必要です。
  • Cを介してコンパイルするため、バイナリの生成にはC toolchainが必要です。

収録されている特集

トピック

よくある質問

koral とは?
AI生成コードを人がレビューすることを想定した、明示的な構文とGC不要のメモリ管理を備え、Cにコンパイルする実験的なプログラミング言語。 Koralは、コードの多くがAIエージェントによって生成されるようになった一方で、人がそれを読まなければならないという考えを軸にしたコンパイル型プログラミング言語です。間違いにつながる余地を減らす構文を採用しており、すべての文は明示的なセミコロンで終わり、ミュータビリティは型で一度だけ宣言し、モジュールレベルの名前には単一の所有者がいます。また、エラー処理はthrow、try、catchではなく、式の中にインラインで記述します。
koral は無料で使えますか?ライセンスは?
koral は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
koral は今もメンテナンスされていますか?
活発にメンテナンス中。koral の最終コミットは 2026年11月7日 です。
koral は何に使えますか?
AI生成コードをレビューしやすくすることを目指した言語を試す。 セルフホスティングコンパイラーやCバックエンドを含む、コンパイラー設計を学ぶ。 ガベージコレクターを使わないメモリ管理を試す。
koral のインストール方法は?
リポジトリをクローンする: git clone https://github.com/kulics/koral.git 凍結版のSwift参照コンパイラをビルドする(Swift toolchainが必要): swift build -c release --package-path compiler-reference 参照コンパイラを使ってセルフホスティングコンパイラをビルドする: compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
koral はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/kulics/koral

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト