書籍
書籍

型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語

0.0

販売価格

¥
3,300
税込
還元ポイント

販売中

お取り寄せ
発送目安
2日~14日

お取り寄せの商品となります

入荷の見込みがないことが確認された場合や、ご注文後40日前後を経過しても入荷がない場合は、取り寄せ手配を終了し、この商品をキャンセルとさせていただきます。

フォーマット 書籍
発売日 2025年04月18日
国内/輸入 国内
出版社ラムダノート
構成数 1
パッケージ仕様 -
SKU 9784908686207
ページ数 184
判型 A5

構成数 : 1枚

本書の背景と目的

第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 まとめ
演習問題

おわりに

演習問題の解答
参考文献
索引

  1. 1.[書籍]

型システムがようやくわかった!

現代の開発環境では、エディタ上でコードを書いている最中から、実行もせずにエラーが判明することがあります。コードの補完でも、文脈に適した候補が魔法のように提示されてきます。こうした機能で中心的な役割を果たすのが「型システム」です。

では、なぜ型システムはプログラムのエラーを早期に発見したり、適切な補完候補を絞り出せたりするのでしょうか? 背景となる数学の理論を教科書で学ぶ以外に、型システムで何ができるのか、どのように機能するかを知る道はないのでしょうか?

本書では、TypeScriptのサブ言語に対する型検査器を実装しながら、実用的なプログラミング言語の機能が型システムでどう実現できるかを見ていきます。AST(抽象構文木)や処理系の実装を通してプログラミングへの理解を深めるように、型検査器の実装を通して「型システムのしくみ」を覗いてみましょう!

本書は『n月刊ラムダノートVol.4, No.3(2024)』に掲載された記事「TypeScriptではじめる型システム」を基に内容を加筆して書籍として刊行したものです。

作品の情報

メイン
著者: 遠藤侑介

メンバーズレビュー

レビューを書いてみませんか?

読み込み中にエラーが発生しました。

画面をリロードして、再読み込みしてください。