makopi23のブログ

makopi23が日々の生活で感じたことを気ままに綴るブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

「TaPL読書会 第2回」に参加しました

2012/8/1(水) 「TaPL読書会 第2回」に参加してきました。

PARTAKE
http://partake.in/events/b780846c-bfd0-412a-bd1e-3f9afd02fab3

読書の対象書籍は「Types and Programming Languages」です。ハードカバーで全623ページ。すごく、重たいです。。。

Types and Programming LanguagesTypes and Programming Languages
(2002/02/01)
Benjamin C. Pierce

商品詳細を見る


場所は前回と同じく、株式会社ワークスアプリケーションズの1Fラウンジです。

今回は、3章の演習問題を参加者が発表するセッションと、5章の内容を rf0444 さんが発表するセッションの、2本立て構成です。
私も、3章の演習問題としてExercise3.5.10の発表を担当しました。
20120801_TaPL.jpg
実は、Exercise3.5.10って3章の演習問題の中で、一番簡単なんですよね。。。

参加者さんがそれぞれ発表・解説した内容は以下で公開されています。
http://wiki.haskell.jp/Workshop/tapl/2
うむぅ、Exercise難しいです。。。復習しなきゃ。。。

今回はExercise3.5.13の解説までで1時間経過しましたので、3章の残りのExerciseは次回に回すことになりました。
んで残り1時間は5章の発表に当てることになりました。5章の発表者はrf0444 さんです。

Tapl 5 from rf0444


5章はλ計算が出てきます。まず5章で最初に躓くトコは、Church Booleanではないでしょうか?

tru = λt.λf.t;
fls = λt.λf.f;


なぜそもそもBooleanをこのように定義すべきなのか、最初は本読んでてサッパリでした。。。
truは2つの引数を受け取って1引数目を返す関数であり、flsは2つの引数を受け取って2引数目を返す関数、という定義ですよね。
なぜこの定義が真偽値を表せるのか?について、今日の発表でも議論がありました。
それによると、真偽値の定義は、これ以外にも有り得るとのことでした。(ただしこの定義が一番シンプルみたい)
また、AndやORの論理演算を実際に手を動かして計算してみることが、この定義を理解するのには有効とのことです。

・・・ふむふむ、ナルホド~。
やはり有識者さんからこーゆうコメントをいただけるトコが非常に有意義ですね。
自分の理解が曖昧だったトコを解決できるチャンスがあるというのは、素晴らしい!

んで、この日はP.60のChurch Booleanまででタイムアップとなりました。
次回はChurch Numeralsから引き続き進むことになります。



読書会の終了後、今回は懇親会にも参加してきました。
懇親会といっても、平日なので近くの中華料理店に軽くご飯を食べにいくようなカンジです。
出席者は主催者さん3名くらいと、参加者4名くらいの、計7人くらいだったかな?

餃子とチャーハン、おいしかったです。あとビール!これだけ暑いとおいしいですね~。
あと、やっぱ社外のエンジニアさんといろいろ話ができる機会というのは貴重です。
ちなみに、私の隣の方は、学生さん(大学院生で来年から社会人とのこと)でした。
これまた新鮮ですねー。学生の頃から勉強会に参加するとは、なんと志の高いことか!こちらも大変刺激になります。
11時過ぎくらいまで楽しんで、明日も平日なのでお開きになりました。

今回も非常に有意義な時間でした。是非次回(8/29)も参加したいと思います。
主催者と出席者の皆様、ありがとうございました。次回も楽しみにしてます。


関連記事
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://makopi23.blog.fc2.com/tb.php/7-58541a6b
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。