More Related Content
Similar to TAPL 勉強会(紹介編) (20)
TAPL 勉強会(紹介編)
- 2. 目的
● TaPL の内容を簡単に紹介
– 勉強会の進め方の決定のための判断材料
● 形式
● 時間見積り、頻度
● 直近のスケジュール
2
- 4. ● 大学院時代は、この分野の研究者
● 本書も、当時、輪講で読了済み
自分にとっては、
● 今回の勉強会で、 様々な立場の意見や知見が
得られると期待
4
- 7. Types and Programming Languages
● 型システム (type system)
● 型システムから見たプログラミング言語
の研究における基本的な定義・技術・成果を
分かりやすく解説 !
Benjamin C. Pierce
7
- 9. 「型システムとは…」 by shikuma
● 型 : プログラムが取り扱うデータの種類や、
プログラムの挙動自体を表すもの
– データ型の例 : int, float, String, int 配列
– プログラム自体の挙動型 :
int → String ( 整数を受け取って文字列を返す関数 )
● 型システム : プログラムの各要素に付与された型情報を
統合・分析する手法
– プログラムの安全性 ( データ整合性、セキュリティ、
停止性など ) の保証
– 最適化のための有用情報の抽出 詳しくは第 1 章へ !
9
- 11. 本書を勉強することのメリット
● 理論的に安全なプログラムとは何かを
考えたり、議論するための基本的な技術を、
身に付けられる !
● 有用かつ実用的な様々な型を
知ることができる !
● 理論だけではなく型システムの実装の基礎も
習得可能
+ プログラミング言語の壁を越えて考える基本的かつ汎用的な力 !
11
- 12. でも、すいません m(_ _)m
基本、 ML 風の関数型言語です( monad いません)
一応、一部 Java 風オブジェクト指向の型や考え方
も出てきますけど…
…慎しんでお詫び申し上げます
12
- 13. 目次
● 概要
● 本書の構造 ( 配布資料参照 )
13
- 14. 本書の大雑把な構成
● 準備編 : 導入、事前知識 (Preface, 第 1, 2 章 )
● 基本編 : 型無し、単純型の話 ( 第 3-14 章 )
– ペア型、サム型、参照型、例外型なども登場
● 発展編 : 多少複雑な型 ( 第 14-32 章 ) ex. 型クラス
部分型、再帰型、多相型、高階型システム
ex. 継承関係 ex. Tree や List 型 ex. 型変数、ジェネリックス
14
- 15. 各章の種類
● 理論の章 : ( 通常の ) 理論的な解説
● 実装 (implementation) の章 :
ML での実装の解説 手動かさないと
あまり意味ないかも
● 超理論 (metatheory) の章 :
複雑な理論の深い部分の解説 そこそこ難解
● Case Study: オブジェクト指向関係
15
- 16. 目的ごとの学び方の案
● プログラミング言語における型システムを
単に学びたい場合 :
実装の章、超理論の章の大半をスキップ
● 関数型言語のみに興味ある場合 :
case study をスキップ
● ( 参照 ) 配布資料 : 章の依存関係グラフ
16
- 17. 参考情報
● 著者 HP: http://www.cis.upenn.edu/~bcpierce/tapl/
● 姉妹本 :
Advanced Topics in Types and Programming
Languages,
edited by B. C. Pierce
– 公式 HP:
http://www.cis.upenn.edu/~bcpierce/attapl/
17