型システムのしくみ TypeScriptで実装しながら学ぶ型とプログラミング言語
| 型システムのしくみ TypeScriptで実装しながら学ぶ型とプログラミング言語
価格:3,300 円
|
本書では、TypeScriptのサブ言語に対する型検査器を実装しながら、実用的なプログラミング言語の機能が型システムでどう実現できるかを見ていきます。AST(抽象構文木)や処理系の実装を通してプログラミングへの理解を深めるように、型検査器の実装を通して「型システムのしくみ」を覗いてみましょう!
本書の背景と目的
第1章 型システムとは
1.1 プログラムの未定義動作とは
1.2 歴史的解決策としての「型安全性」
1.3 本書における型システムと型安全性
1.4 実装する型検査器のプログラムについて
第2章 真偽値の型と数値の型
2.1 対象言語と型検査器の仕様
2.2 構文木
2.3 型の定義
2.4 型検査器の実装
2.5 型検査器を動かしてみる
2.6 まとめ
演習問題
第3章 関数型
3.1 型検査器の仕様
3.2 構文木
3.3 型の定義
3.4 型検査器の実装の準備
3.5 型検査器の実装
3.6 型検査器を動かしてみる
3.7 まとめ
演習問題
第4章 逐次実行と変数定義
4.1 型検査器の仕様
4.2 構文木
4.3 型検査器の実装
4.4 型検査器を動かしてみる
4.5 tiny-ts-parserの便利関数紹介
4.6 basic.tsの注意点
4.7 まとめ
演習問題
第5章 オブジェクト型
5.1 型検査器の仕様
5.2 構文木
5.3 型の定義
5.4 型検査器の実装
5.5 型検査器を動かしてみる
5.6 まとめ
演習問題
第6章 再帰関数
6.1 型検査器の仕様
6.2 項と型の定義
6.3 型検査器の実装
6.4 型検査器を動かしてみる
6.5 まとめ
演習問題
第7章 部分型付け
7.1 オブジェクト型の部分型付け
7.2 その他の型の部分型付け
7.3 型検査器の実装
7.4 型検査器を動かしてみる
7.5 まとめ
演習問題
第8章 再帰型
8.1 再帰型が必要になる状況
8.2 再帰型の形式的な表記
8.3 再帰型を型検査でどう扱うか
8.4 項と型の定義
8.5 型検査器の実装
8.6 まとめ
演習問題
第9章 ジェネリクス
9.1 ジェネリクスとは
9.2 TypeScript のジェネリクスを詳しく見る
9.3 型の定義
9.4 項の定義
9.5 型代入の実装(間違った実装)
9.6 ジェネリクスに対応した型の等価判定
9.7 typecheck 関数の実装
9.8 型検査器のテスト
9.9 型代入の実装を修正する
9.10 まとめ
演習問題
おわりに
演習問題の解答
参考文献
索引
著者名: | 遠藤侑介 |
---|
出版社名: | ラムダノート |
---|
ISBNコード: | 9784908686207 |
---|
発売日: | 2025年04月18日頃 |
---|
(件)
ランキング
18位 (2025-04-17)