Beginner~Intermediate
言語処理系、理論、入門
プログラミングにおいて何かを深く学ぶには、それを自分で作ってみるのが最良の方法です。
そこで、型システムを学ぶためのプログラミング演習として、型検査器を書くことを提案します。
前半では、型付きラムダ計算に相当するTypeScriptの極小サブセット言語を定義し、その型検査器を自作します。
この過程で、抽象構文木(AST)の扱いや型検査の基本構造を解説します。
後半では、対象言語を拡張し、最終的に型検査器自身を型検査できるようにする(セルフホスト) ことを目標とします。
具体的には、オブジェクト型、タグ付きunion型、再帰関数、再帰型などを導入し、より強力な型システムへと発展させます。
本発表を通じて、型検査器の実装を通じた型システムの理解を深め、プログラミング言語処理系の基礎に触れる機会を提供します。