Elixir、段階的型システムを導入した言語へ進化
(twitter.com/josevalim)- Elixirは最初のコミットから13年を迎えるタイミングで、公式に段階的型付け言語へ移行
- 現在はbitstringに対して型推論と型検査を行っており、すべての型をサポート(ただし、型間のサブタイピング(sub-typing) は未対応)
- 最初のマイルストーンはパターン(patterns)とガード(guards) に対する推論の実施
- この推論は、言語や既存コードベースを変更せずにバグを検出する形で動作
- Elixir v1.17までに、すべてのパターンとガードの推論を完成させることを目標に設定
段階的型付け言語への移行発表
- Elixirリポジトリ(repo)の最初のコミットから13年となる節目に合わせて、Elixirが公式に段階的型付け言語であることを発表
- 現時点における型検査の実装範囲
- bitstringに対する型推論および型検査を実施
- すべての型(all types) をすでにサポートしているが、型内部のサブタイピングは未対応
今後の目標と最初のマイルストーン
- Elixir v1.17までに、すべてのパターン(patterns)とガード(guards) の推論を行うことを目標に設定
- 最初のマイルストーンは、パターンとガードに対する推論の実施
- 言語やユーザーのコードベースを変更することなく、コード内のバグを検出する方式
- 最初の段階が誰にとってもwin-winとなることを目指す
1件のコメント
Hacker Newsのコメント
Joseへの感謝
段階的型付け言語への関心
Elixirの型の不在に対する意見
Jose ValimとAnders Hejlsbergへの信頼
Elixirへの型システム追加に対する反応
型システムの重要性
PHPの段階的型導入から学ぶべき点
Ruby開発者のElixir移行に対する意見
ElixirチームとJoseによる型システム導入へのアプローチ