Beginner~Intermediate
言語処理系、理論、入門
プログラミングにおいて何かを深く学ぶには、それを自分で作ってみるのが最良の方法です。
そこで、型システムを学ぶためのプログラミング演習として、型検査器を書くことを提案します。
前半では、型付きラムダ計算に相当するTypeScriptの極小サブセット言語を定義し、その型検査器を自作します。
この過程で、抽象構文木(AST)の扱いや型検査の基本構造を解説します。
後半では、対象言語を拡張し、最終的に型検査器自身を型検査できるようにする(セルフホスト) ことを目標とします。
具体的には、オブジェクト型、タグ付きunion型、再帰関数、再帰型などを導入し、より強力な型システムへと発展させます。
本発表を通じて、型検査器の実装を通じた型システムの理解を深め、プログラミング言語処理系の基礎に触れる機会を提供します。
SML# は我々が開発しているML系関数型言語であり,そのコンパイラはMITライセンスによって公開されている.
本講演では,まずSML# の概要およびその特徴的な機能を紹介した後,SML# コンパイラの内部構造およびその特徴的なフェーズが基礎とする理論の概要を解説する.この理解を背景に,SML# のソースコードを活かしたオープンなコンパイラプロジェクトを提案する.このプロジェクトは,
などをオープンに共同で行うことを意図している.そのためにSML# チームは,そのためのSML# の内部構造やコンパイラの基礎理論等のノウハウや知識を提供する.それ以上のオープンの意味は,今後の参加者に委ねられる.