コンテンツにスキップ

TypedDuckについて

TypedDuckは、動的言語のための型・静的解析ツールを作る小さなプロジェクトです。出発点はひとつの問いでした。動的言語は実行時には確かな型を持って動いているのに、なぜコードを書いている最中にはそれがほとんど手元に届かないのか。

ダックタイピングは「アヒルのように歩き、アヒルのように鳴くなら、それはアヒルだ」と言います。実行時にはそれで成り立ちます。問題は、その歩きや鳴きを実行するまで——たいていはユーザーの目の前で——誰も確かめないことです。TypedDuckのツールは、コードがすでに生成している値からその型を静的に組み立て直し、アヒルが鳴かない箇所を報告します。

各プロジェクトに共通する軸:

  • 注釈ではなく推論。 有用なフィードバックを得るために、並行する型シグネチャを手で維持する必要はありません。
  • 手続きではなくバグ。 指摘は、実行時に実際に壊れていたはずの何かに対応してはじめて価値を持ちます。
  • オープンでバイリンガル。 ソースは公開され、ドキュメントは英語と日本語の両方で書かれます。

現在のラインナップはプロジェクトを参照してください。Ruby静的解析器のRigorと、オンライン書籍のchibirigorがあり、それぞれのドキュメントとソースへのリンクを掲載しています。

このサイトのコンテンツは © TypedDuck で、CC BY-SA 4.0のもとで提供されます。各プロジェクトのソースは、github.com/rigortype上のそれぞれのリポジトリでライセンスされています。

© 2026 TypedDuck. Licensed under CC BY-SA 4.0.