[S-8] 関数プログラミング
- 筑波大学 情報科学類 3年次実験(ソフトウェアサイエンス実験)
- 担当教員:
亀山幸義(kam[at]cs.tsukuba.ac.jp),
- 担当TA: 夏井,李 (jikken.fp[at]gmail.com)
- 時期と場所: 秋ABC, 座学・質問対応はMS Teamsのオンライン会議, 実作業を行う場所は自由
- 科目情報:
実験ホームページ
関数プログラミングの世界へようこそ!
「関数型プログラム言語」という言葉を聞いたことがありますか?
「聞いたことがあるけど何だかわからない」、
「興味はあるけど難しそう」という印象の人はいませんか?
関数型プログラム言語を使えば、
C言語を使うよりもずっと、
美しく、
簡潔で、
わかりやすい
プログラムを書くことができます。
実験S-8 は、一番広く使われている関数型言語である
OCaml (オーキャムル, もともとは Objective Caml の省略だった)の入門講座です。
予備知識ゼロの状態から始めて、
プログラムを処理するプログラムである「インタープリタ」を、いとも簡単に書けるようになります。
実験後半では,「型検査器・型推論器」や「コンパイラ」などの
簡単なものも作成し,「プログラム言語の処理系」の作り方を修得します.
これにより,将来,「自分の言語」を設計したときに,
その処理系を比較的容易に作ることができるようになります.
C や Java 以外のプログラム言語,また,言語処理系に興味がある人は、
是非この実験にチャレンジしてください。
連絡事項
- テキストを更新して 2024年度版にしました。(2024/10/01)
- このページを設定しました。(2013/03/15)
実験の資料
- 実験概要
- 今年のスケジュールなどの情報
-
実験TA のページは、MS Teams内のExcelファイルに
引越しました。
- テキスト
以下に実験のテキストを示します。
間違いやわかりにくい点があれば、遠慮なく質問・指摘してください。
(Credit)
この実験のテキスト(以下のリンク先)は最初は亀山が作成したのですが、
その後、
海野広志先生
(2023年度まで筑波大学在籍)がコンパイラの部分などを大幅に改訂して
くださったものです。また、
歴代のTeaching Assistantの人たちがテキスト改善に貢献してくれています。
- 1. 準備
- 2. インタープリタの基礎
- 3. 環境と束縛の処理
- 4. 構文解析器の利用
- 5. 関数の処理
- 6. インタープリタの拡張 (必須ではありません。)
- 7. 型検査と型推論
- 8. 簡単なコンパイラの作成
- まとめ;
関連する授業
- 「プログラム言語論」 (3-4年次, 春AB,亀山):
プログラム言語の基本となる概念を解説する授業,関数型プログラム言語にも言及する.
亀山幸義