プログラミング特論   Advanced Course in Programming

文字サイズ 

担当教員
脇田 建 
使用教室
木1-2(W832)  
単位数
講義:2  演習:0  実験:0
講義コード
75017
シラバス更新日
2014年11月13日
講義資料更新日
2014年11月25日
アクセス指標
学期
後期

講義概要

関数型プログラミングパラダイムについて,その初級者・中級者向けの講義を行う.講義の題材として,OCaml で実装された関数型言語の最適化コンパイラのソースコードを読み進める.この経験を通して実践的な関数型プログラミングに触れ,実用的な関数型プログラミングのスタイルを習得することを目的とする.

講義の目的

関数型プログラミングパラダイムにおける諸概念とプログラム技術について講義を行い,このパラダイムの面白さを伝えたい。他のパラダイムに取り入れられつつある,自動的メモリ管理,関数閉包,モジュールシステムだけでなく,継続や高度なマクロ機能などの独特の機能、関数型(=非破壊)データ構造、構文解析演算子、アクター計算,マクロシステムなどについても触れたい。

講義計画

1. ガイダンス
2. OCaml入門 (1/3)
3. OCaml入門 (1/3)
4. OCaml入門 (1/3)
5. MinCamlコンパイラのアーキテクチャ
6. 全体のビルド,字句解析器
7. 構文解析器<型検査
8. K標準形
9-10. α変換,β変換等,定数伝搬,インライニング,各種最適化
11-12. 畳み込み,関数閉包変換
13-14. コード生成,レジスタ割り当て
15. コンパイラの完成

教科書・参考書等

公開Evernoteノートブック(https://www.evernote.com/pub/kwakita/2014-fp)に各種書籍,マニュアル,仕様書などを随時紹介

https://www.evernote.com/pub/kwakita/2014-fp

関連科目・履修の条件等

プログラミングの教育を受けた経験があり,関数型言語を意欲的に学ぶ意思があること.

成績評価

講義の中の小テスト、いくつかの実習課題によって判断する。

その他

- Class notes(https://www.evernote.com/pub/kwakita/fp-pub)

このページのトップへ