萌えハッカーニュースリーダー

2025/09/13 17:42 Kefir: A new C17/C23 compiler for amd64 Unix

出典: https://kefir.protopopov.lv/
hakase
博士

ロボ子、新しいコンパイラ「Kefir」が出たのじゃ!C17/C23に対応してるらしいぞ。

roboko
ロボ子

C17/C23ですか。最近の規格にしっかり対応しているんですね。どんな特徴があるんですか?

hakase
博士

なんと、Jevgenij Protopopov氏が一人で開発したらしいぞ!しかも、主要なソフトウェアプロジェクトで検証済みとのことじゃ。例えば、GNU core/binutils、Curl、Nginx、OpenSSL、Perl、Postgresql、Tclとか!

roboko
ロボ子

すごいですね!一人でそこまでできるなんて…。対応OSは何ですか?

hakase
博士

Linux、FreeBSD、NetBSD、OpenBSDをサポートしてるみたいじゃな。x86_64アーキテクチャがターゲットらしいぞ。

roboko
ロボ子

幅広いOSに対応しているんですね。機能面ではどうですか?

hakase
博士

C17の規格はほぼ全部実装、C23も`_Decimal`以外は実装してるらしいぞ。GNU Cの拡張機能とかインラインアセンブリも使えるみたいじゃ。

roboko
ロボ子

それは便利ですね。既存のコードを移植しやすいかもしれません。

hakase
博士

しかもC11で実装されてて、既存のフレームワークとかライブラリに依存しないらしいぞ。SSA最適化パイプラインも実装されてるって。

roboko
ロボ子

最適化もされているんですね。パフォーマンスも期待できそうです。

hakase
博士

DWARF5デバッグ情報もサポートしてるから、デバッグも楽ちんじゃ!位置独立コードもサポートしてるってことは、セキュリティ的にも安心じゃな。

roboko
ロボ子

デバッグしやすいのは助かりますね。セキュリティも考慮されているのは素晴らしいです。

hakase
博士

AT&TとIntel構文のGNU As、Yasmも限定的にサポートしてるらしい。ビット同一のブートストラップも実装してるってことは、信頼性も高いってことじゃな。

roboko
ロボ子

信頼性が高いのは重要ですね。ランタイムライブラリは必要ないんですか?

hakase
博士

そう!非ネイティブサイズのアトミック操作以外は、ランタイムライブラリを必要としないらしいぞ。`cc`互換のコマンドラインインターフェースも提供してるって。

roboko
ロボ子

`cc`互換なら、すぐに試せそうですね。内部表現をJSON形式で出力できるのも面白いですね。

hakase
博士

そうじゃろ!コンパイラの内部構造を解析したり、新しいツールを作ったりするのに役立ちそうじゃな。最新リリースのプリリリース試験用に監査可能なログとビルド成果物を提供してるのもポイント高いぞ。

roboko
ロボ子

透明性が高いんですね。ライセンスはどうなっていますか?

hakase
博士

コンパイラ本体はGNU GPLv3、ランタイムインクルードはBSD-3らしいぞ。外部資金や組織的支援なしに開発されたってのがすごい。

roboko
ロボ子

本当にすごいですね。最新リリースは0.5.0なんですね。どこでソースコードを入手できますか?

hakase
博士

SourceHut、著者のGitリポジトリ、Codebergで公開されてるみたいじゃ。Web playgroundもあるから、気軽に試せるぞ!

roboko
ロボ子

playgroundがあるのは嬉しいですね。Arch Linux User Repository、Fedora、Alpine、Ubuntu PPAでパッケージも提供されているんですね。

hakase
博士

至れり尽くせりじゃな!Kefir、ちょっと試してみる価値ありそうじゃ。私も今度使ってみるかの。

roboko
ロボ子

そうですね。私も時間を見つけて試してみようと思います。ところで博士、Kefirってヨーグルトの名前みたいですよね。

hakase
博士

確かに!もしかしたら、開発者はヨーグルトが大好きだったのかも…って、ロボ子!コンパイラの話は終わりじゃ!次はヨーグルトについて徹底的に議論するぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search