Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

2009-10-01から1ヶ月間の記事一覧

図でわかる(?)モナド おまけ: 図からコードを書く

最後に出した例ですが、 module Main where main :: IO () main = getLine >>= putStrLn . reverse モナドで悟りをひらきたいのなら - 図でわかる(?)モナド さきほどのエントリの図が全部わかれば、以下のような図も書けますね。reverseをfmapで持ち上げて橋…

モナドで悟りをひらきたいのなら - 図でわかる(?)モナド

圏論の最大の武器はダイアグラムなので、モナドで悟りをひらきたいのならダイアグラムを使えばいいんじゃないでしょうか。 ダイアグラムの書き方 例えば、「 f :: a -> b 」とか「length :: [a] -> Int」は以下のように書きます。型を点で、関数を矢印で書き…

「やっぱりパスタの会」でパスタを食べて来た報告

やっぱりパスタの会と言う名のcaty説明会に出席してきました。主催のid:m-hiyamaさんとckuwataさんはお疲れ様でした!catyスクリプトがライトさを目指しているのとは裏腹に、ガチガチの圏論の理論背景を持っているところがさすがはid:m-hiyamaさんと言った感…

PSGIを勉強したメモ(2) (PSGI 1.03でのストリーミング)

PSGI Specificationが1.03に更新されています。新しく psgi.streaming が追加されました (Tatsumakiでも使ってる)。 最初にとても大事な注意 このエントリはPSGI 1.03の仕様について勉強したことを書いてます。PSGIの仕様はまだ流動的なので、かならず最新の…

PSGIを勉強したメモ(PlackとかMiddlewareとか)

Tatsumakiを触ってみたいなあと思ったらなんかPSGI/Plackの迷路に入ってしまい、つぶやいてたらid:miyagawaさんが色々教えて下さったので、せっかくなのでまとめておきます。教えてもらってない自分で調べたことも書いてるので、間違ってたらごめんなさい! …

第一回層圏トポス米田フェスティバル@矢上祭

出席してきました。本当に圏論の前提知識なしに米田のレンマまでぶっ通しで終わらせました。なんてひど・・・スピーディーな進行!しかし、米田祭だからといって米田のレンマを二度も証明するとは思いませんでした!!参加した方のために、参考資料を残して…

JSDeferred.next×IE×https = 警告

「セキュリティで保護された Web ページ コンテンツのみを表示しますか」で困っている方は、Deferred.next_default を使うようにすると最新版を使うと幸せになれると思います。参考→IEでSSL通信時に警告が出ることがある

第十回「層・圏・トポス  現代的集合像を求めて」勉強会

参加してきました。第2章「圏」が全部終わりました!! (P90の層の部分除く)板書写真はこちらです。宿題は以下です。 P85の定理13やP89の5).、6).で使われる以下の性質の根拠 ∀X, C(X, A) ≃ C(X, B) ⇒ A ≃ B P89の6)の記法で、colim D_i とか lim C^{D_i} っ…

CoroでコールバックなしのIRC bot

GUIのイベントを拾ったり、IRCクライアントのように登録したコールバックが何度も呼ばれるパターンでは、return型の関数にするのは難しいと思います。while でループさせるような作りにしたらできそうですけど、それがわかりやすいかどうか。Coro::AnyEvent…

POEのコードをAnyEventのコードにしてみる

POEからAnyEventに移すのはどんな感じか、試しにやってみます。 最初にまとめ 恐らく問題となるのはPOEのイベント呼び出しとAnyEventのコールバックの仕組みのギャップですが、AnyEventではメソッドを呼び出すコールバックを渡すことでPOEのイベント呼び出し…