タグ

monadとHaskellに関するTaKUMAのブックマーク (8)

  • IOモナドとHaskell の最も単純なイメージ | tnomuraのブログ

    抽象的な記号を扱うときに大切なのは、それについての何か具体的なイメージを持っていることだ。 例えば集合のイメージなら丸い輪のなかに色とりどりのおはじきが入っているところを想像するし、関数のイメージは、二つの集合の要素のおはじきを糸で結んだ物が、おはじきの数だけあるところをイメージすると分かりやすい。 このイメージモデルを使えば、写像 f : A -> B が全射なら、集合Bのどのおはじきをつまみあげても、その端に集合Aのおはじきが付いてくるし、単射なら、集合Aのおはじきを二つ引っ張ると、必ずBの違うおはじきが引っ張られる。 全単射なら、集合Bのどのおはじきにも集合Aのおはじきはつながれており、集合Bの違うおはじきに対しては集合Aの同じおはじきが付いてくることはない。もしそうでなければ、集合Bの二つのおはじきにひとつの集合Aのおはじきがつながっていることになり、写像の条件を満たさないし、集合

    IOモナドとHaskell の最も単純なイメージ | tnomuraのブログ
  • Monad (functional programming) - Wikipedia

    In functional programming, a monad is a structure that combines program fragments (functions) and wraps their return values in a type with additional computation. In addition to defining a wrapping monadic type, monads define two operators: one to wrap a value in the monad type, and another to compose together functions that output values of the monad type (these are known as monadic functions). G

    Monad (functional programming) - Wikipedia
  • Perlの駱駝のこぶにはMonadも入ってる : 404 Blog Not Found

    2006年04月20日00:29 カテゴリLightweight Languages Perlの駱駝のこぶにはMonadも入ってる PerlLambda Calculusが入っているというのは以前何度か紹介した通りだが、実はMonadも入っているのである。そして、皆さんも知らない間に使っているのである。 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」 「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 それでは、世界で一番Monadが簡単に使える言語(0番はPerl6!)での実例をいくつかお見せする。 まずは一番簡単な例から。 use strict; use warnings; package Tie::Verbose; use Tie::Scalar; use base 'Tie::StdScalar'; sub TIESCALAR{ my $

    Perlの駱駝のこぶにはMonadも入ってる : 404 Blog Not Found
  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
    TaKUMA
    TaKUMA 2010/12/13
    モナドが少し分かった気になった。
  • Monadius - a scientist's toy box

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • IOモナドとHaskell の最も単純なイメージ | tnomuraのブログ

    抽象的な記号を扱うときに大切なのは、それについての何か具体的なイメージを持っていることだ。 例えば集合のイメージなら丸い輪のなかに色とりどりのおはじきが入っているところを想像するし、関数のイメージは、二つの集合の要素のおはじきを糸で結んだ物が、おはじきの数だけあるところをイメージすると分かりやすい。 このイメージモデルを使えば、写像 f : A -> B が全射なら、集合Bのどのおはじきをつまみあげても、その端に集合Aのおはじきが付いてくるし、単射なら、集合Aのおはじきを二つ引っ張ると、必ずBの違うおはじきが引っ張られる。 全単射なら、集合Bのどのおはじきにも集合Aのおはじきはつながれており、集合Bの違うおはじきに対しては集合Aの同じおはじきが付いてくることはない。もしそうでなければ、集合Bの二つのおはじきにひとつの集合Aのおはじきがつながっていることになり、写像の条件を満たさないし、集合

    IOモナドとHaskell の最も単純なイメージ | tnomuraのブログ
  • Haskell/Understanding monads - Wikibooks, open books for an open world

    There is a certain mystique about monads, and even about the word "monad" itself. While one of our goals of this set of chapters is removing the shroud of mystery that is often wrapped around them, it is not difficult to understand how it comes about. Monads are very useful in Haskell, but the concept is often difficult to grasp at first. Since monads have so many applications, people often explai

  • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基

  • 1