いろんなところで言いふらしてましたが、もう少しぐぐりやすいところにあった方がいいかなというのと、コンテキストをちょっと書いておいた方がいいだろうと思ったので、ここにも書いておきます。 - [Monads are Trees with Grafting (PDF)](https://dl.dropbox.com/u/360784/Monads.ja/monads.ja.pdf) - [Monads are Trees with Grafting (Literate Haskell)](https://dl.dropbox.com/u/360784/Monads.ja/monads.ja.lhs) "[Monads are Trees with Grafting][Sigfpe]" はモナド・チュートリアルです。Monad はある法則を満たす木構造へのインターフェースだということを、図やコード
This is an attempt to collect together, in tutorial form, a few of the things I've said about monads going back as far as my field guide. It's probably not a good first tutorial, but it contains things I'd wish I'd known immediately after reading my first tutorial. Unfortunately, I used a few more LaTeX features than I ought to have while drafting it making it hard to get back into HTML form clean
論文紹介:How to Declare an Imperative Philip Wadler. ACM Computing Surveys, 29(3):240--263, September 1997.(WWW:Wadler: Monads) 1. 導入 2. 相互作用へのmonadアプローチ 基本的な命令 Equational reasoning 値を受け入れる命令 letの類似物 monadの満たす法則 monadと命令型プログラミング C関数の直接呼び出し 3. 相互作用に対するその他のやり方 同期されたストリーム(synchronized stream) continuation 線形論理(linear logic) 副作用(side effect) 4. 関連研究 5. 結論 一階と高階 バック・トラック 1.導入 400年程前デカルトの問題 心は生体とどう相互作用するのか?
圏論の最大の武器はダイアグラムなので、モナドで悟りをひらきたいのならダイアグラムを使えばいいんじゃないでしょうか。 ダイアグラムの書き方 例えば、「 f :: a -> b 」とか「length :: [a] -> Int」は以下のように書きます。型を点で、関数を矢印で書きます。 ダイアグラムの利点は、fやlengthの中身を忘れて簡略化することができることです。人間の脳ができることには限りがあるので、注目する情報が少ない方が理解しやすくなるってスンポーです。 なお、 合成 g . f は図示する時に順が逆になるので気をつけて下さい。これは、合成関数の適用が g ( f x ) と書けることに由来してます。まずfを適用し、次にgを適用するということです。 return と >>= の図示 今回のダイアグラムの約束として、元となる型(Bool, Char, Int 等)は最下段に書きます。そ
ITProのScala連載「刺激を求める技術者に捧げるScala講座」の第14回 関数脳のつくり方 Second Season 〜モナドで悟りをひらく〜がはてなブックマークで150ブクマ超えるなど注目を集めていますが、読んで見ると初学者に誤解を与える箇所が散見されるので、一応、連載に関わってる者(といっても1回記事書いただけですが)の一人としてツッコミを入れさせていただきます。 「参照透明性を保持しながら手続き型的な記述をするための枠組み」?(p.1) モナドとは,関数型言語で,参照透明性を保持しながら手続き型的な記述をするための枠組みです。 早速ですが、これは、IOモナドやStateモナドには当てはまっても、全てのモナドについて当てはまるものではないですよね。たとえば、Maybeモナドではこれは当てはまりません。 「モナドがHaskellで必要な理由」? これはページタイトルの一部ですが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く