Claude Codeによるプログラミング言語構築:カツレツ実験

AI生成コードでCutletを構築
アンクール・セティは、1月と2月の4週間かけてClaude Codeを使用して「Cutlet」という新しいプログラミング言語を作成しました。典型的なLLM支援プログラミングではAIが定型コードや特定の変更を支援しますが、セティはClaudeにすべてのコード行を生成させ、自分では一行も読みませんでした。代わりに、彼はガードレールを構築し、テストを行って正確性を確保することに集中しました。
結果として生まれた言語は現在存在し、macOSとLinuxの両方でビルド・実行が可能で、実際のプログラムを実行できます。バグはあるかもしれませんが、セティは「おそらく他の4週間しか経っていないプログラミング言語と比べて悪くはない」と述べています。
Cutlet言語の特徴
Cutletは動的言語で、以下の主要な特徴があります:
myキーワードで変数を宣言:my cities = ["Tokyo", "Paris", "New York", "London", "Sydney"]- 変数名にダッシュを含めることが可能(Rakuと同じ構文ルール)
- 単一の数値型:double
- 動的言語として期待通りに動作する配列と文字列
- ベクトル化操作のための
@メタ演算子:temps-c @* 1.8は各配列要素を乗算 - 配列をマップに圧縮する
@:演算子:cities @: temps-fは{Tokyo: 82.4, Paris: 71.6, ...}を作成 - 出力用の
say()関数、nothingを返す(Cutletのnull) - フィルタリング用のブール配列インデックス:
cities[temps-f @> 75]は[Tokyo, New York]を返す ++演算子は文字列と配列を連結str()組み込み関数は文字列に変換- リダクション操作のための接頭辞
@:@+ temps-cはすべての温度を合計 len()組み込み関数は配列の長さを取得fnで関数を宣言:fn max(a, b) is ... if a > b then a else b ... end- 関数や条件式を含め、すべてが式
- カスタム関数は
@演算子と連携:@max temps-cはユーザー定義のmax関数でリダクション
追加機能には、ループ、オブジェクト、プロトタイプ継承、ミックスイン、マークアンドスイープガベージコレクタ、使いやすいREPLが含まれます。ファイルI/Oとエラーハンドリングはまだ実装されていません。
開発アプローチ
セティはソースからインタプリタを構築し、/path/to/cutlet replを使用してREPLに入りました。ソースコードはGitHubで公開されており、ビルド手順とサンプルプログラムが含まれています。彼は2021年のGitHub Copilotリリース以来LLM支援プログラミングを使用してきましたが、以前はAIを定型コードと特定の変更に限定していました。
この実験は、AIがすべてのコードを生成し、開発者が高レベルの構造、テスト、ガードレールに集中するというシフトを表しています。このアプローチは、機能的なプログラミング言語を作成するために驚くほど効果的であることが証明されました。
📖 Read the full source: HN AI Agents
👀 See Also

オープンソースのClaudeコードスキルでパーソナライズされたソーシャルメディアコンテンツ
開発者が、Claudeがソーシャルメディアコンテンツをユーザーの本来の声で書けるようにする13のClaude Codeスキルをオープンソース化しました。これらのスキルには、LinkedIn、Twitter/X、Threads、Bluesky向けのコンテキスト定義、戦略策定、作成、分析ツールが含まれています。

Claude提案: スコープメモリと密閉インスタンス分離
Anthropicへの正式提案:グローバル/ローカル/プロジェクト単位のメモリスコープ、モデルバージョンの固定、状態マニフェスト、再現可能なClaudeセッションのためのスナップショット/リストア。

codebase-md: ツールはgitフックによるメンテナンスでCLAUDE.mdを自動生成します
codebase-md v0.1.0は、プロジェクトをスキャンして、アーキテクチャ検出、依存関係の健全性チェック、およびGitインサイトを含むCLAUDE.mdファイルを生成します。Gitフックを含めてドキュメントを最新の状態に保ち、追加の設定ファイルで他のAIコーディングツールをサポートします。

Quiver: Claudeコードスキルの管理と同期のためのGUI
Quiverは、Claude Codeスキルを管理するための無料のオープンソースGUIツールで、ウェブインターフェースを提供します。これにより、ユーザーはローカルのスキルやマーケットプレイスのプラグインを閲覧し、SKILL.mdファイルを編集し、Gitで同期し、ターミナルを使用せずにスキルをインストールできます。