ENGLISH    |  

FP勉強会

概要

関数プログラミング(関数型言語)の勉強会。SICP勉強会を発展的に解消。

  • 取り上げる可能性のある言語
    • Scheme (SICP でやった)
    • CommonLisp
    • Haskell
    • OCaml

予定

8月10日17:00開始、12日17:00終了(48時間)で

をやる。(Haskellを使ってSchemeのインタプリタを48時間で作るらしい)

コア時間帯は10:00-12:00と14:00-17:00で、その時間帯はA707に集合してみんなで上記ドキュメントを読みつつ練習問題を解きつつ Scheme インタプリタを作成する。

  • 初日(参加者: shimpei-m, hiro-kuz, kenich-i, mamoru-k, shuya-a)
    • 製本したい人は松本研にて製本
    • Haskell インタプリタインストールしていない人はインストール
      • 概観(第1章)
    • Hello, World! でも書いてみる
      • コンパイルと実行(第2章 問題1-3)
  • 2日目(参加者: hiro-kuz, kenich-i, mamoru-k, kei)
    • 午前
      • 1日目の復習
      • パージング(第3章 問題1-3)
    • 午後
      • 評価 パート1(第4章 問題1-3)
      • エラーチェック・例外(第5章)
      • 評価 パート2(第6章 問題1-4)
      • REPL (read-and-eval-loop) の実装(第7章)
  • 3日目
    • 午前
      • 2日目の復習
      • 変数と値の割り当て(第8章)
    • 午後
      • Scheme 関数の定義(第9章)
      • IOプリミティブの実装(第10章)
      • 標準ライブラリに向けて(第11章)
      • まとめ(第12章)

アナウンス

夏休みは Write Yourself a Scheme in 48 Hours を2日で実際にやろうプロジェクトをやりますが、それまでに Haskell の参考文献等必要な人は集めていてください。いちばん適切だと思われるのは

A Gentle Introduction to Haskell Version 98
http://haskell.org/tutorial/
http://www.sampou.org/haskell/tutorial-j/ (和訳)

でしょう。英語版は PS/PDF ファイルがあります(全部で64ページ)が、日本語版は HTML しかないので印刷は面倒かもしれません。

他には書籍としては日本語で読めるものは

向井淳『入門 Haskell はじめて学ぶ関数型言語』毎日コミュニケーションズ(2006)

青木峰郎(著)・山下伸夫(監修)『ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門』ソフトバンククリエイティブ(2006)

があります。いずれの本も、ある程度他の言語でプログラミングの経験がある人を対象に Haskell の解説をしていますが、リファレンス的に使いたい場合は後者の本のほうがいい気がします。Haskell ではこういうふうに書きますよ、というところから始まって、最後には一つのアプリケーションを作る、といった感じです。向井さんの本は小町が持っていて、青木さんの本は石橋くんが持っているので、見たい人は声をかけてください。

また、書籍として英語で読めるものは

Richard Bird: Introduction to Functional Programming Using Haskell, Peason, 1998.

Simon Thompson: Haskell: The Craft of Functional Programming, Addison-Wesley, 1999.

が定評あるようです。いずれも大学学部の教科書用に書かれたもので、関数型言語の説明に Haskell を用いて行っている、という感じです。(いずれの本も前の版は Miranda という言語を使って説明しています

次にやる本の案

これまでの軌跡