タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

モナドに関するmatekikiのブックマーク (5)

  • 圏論デザインパターン

    要求開発アライアンスのセッション『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』で使用するスライドについて背景説明を行ってきました。 関数型言語の技術マップオブジェクト・モデリングのボトルネック代数的構造デザインパターン今回は背景説明第4弾で、「圏論デザインパターン」として用意した以下の図を説明します。 関数型言語の技術マップで説明したように、型クラスの導入によって代数的構造や圏論の理論をプログラミング言語で直接利用できるようになりました。 代数構造的デザインパターンは、基中の基概念であるので、モノイド以外のパターンもいずれ広く使われるようになることが予想されますが、今の所広く使われているのは圏論デザインパターンの方です。 代表的な圏論デザインパターンは以下のものです。 圏(category)対象と射(対象間の構造を保

    圏論デザインパターン
  • モナド、あるいは自己関手の圏におけるモノイド対象について - Nao Minami's Blog

    どうもこんばんは、south37です。 今日は久々にHaskellネタをぶっ込んで行きたいと思います。題材は、Haskellを知っていれば嫌でもその名を耳にするであろう「モナド」についてです。 そもそもモナドって何なんですか? はい、何なんでしょう?ここで、フィリップ・ワドラーの言葉を引用してみます。 モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも? うん、何だかよく分かりませんが超絶カッコいいですね!!こーゆうのサラッと言えたらいいですね!!! で、結局何なんですか? ワドラーの言葉は専門用語を使って簡潔にまとめられていた為、ベースとなる知識が無い状態では全く意味が分かりませんでした。まずは、ワドラーの言葉に出てきた単語の意味を一つ一つ見て行く事にしましょう。 自己関手 最初のキーワードは 自己関手 です。そのまま読むと、「自己」の「関手」です。はて? 関手(Funct

    モナド、あるいは自己関手の圏におけるモノイド対象について - Nao Minami's Blog
  • モノイドからモナドを作る - 檜山正幸のキマイラ飼育記 (はてなBlog)

    モニャドセミナー3をやってから一週間以上経過しちゃったんですが、だいぶ遅れた補足です。なぜ補足が必要かというと、当日の後半、なにかに憑かれてラリラリだったから。ホワイトボードでの説明でグダグダだったところを少しはクリアにしよう、と。説明のストーリーや記号法は、セミナー当日のものとほぼ同じにしました。そのため、慣用の記法とは少しずれたところがあります。例えば、「μ」を使うところで「δ」を使ったりとか。 この記事は、あまり実例がなくて定義ばっかりの印象かもしれませんが、モニャドセミナーが事例中心だから、いいとしましょう。それと、やっぱりどっかで定義を確認することは必要なんです。確認作業では、つまんないタルイ計算が続きますが、我慢してヤッテ。 内容: モノイドの復習 直積による掛け算関手 掛け算関手の繰り返し適用 2回適用を1回につぶす自然変換δ クライスリ結合 クライスリ圏 ●モノイドの復習

    モノイドからモナドを作る - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • モナドはなぜHaskellでしか積極的に使われていないのか? - uehaj's blog

    (Haskellな日々になってるな…。) モナドというものがあり、Haskellで有名ですが、実際には、Java8のOptional、ScalaのOptionやfor内包表記などでは使用されています。ScalazというScalaのライブラリや、monadlogieというGroovyのライブラリでも使われています。 とはいえ、一般に、Haskellでのように積極的には使われていないというのが公平な見かたでしょう*1。Haskellでは当にいろんなものがモナド化されています。入出力(IO)、状態、失敗するかもしれない計算(Maybe、Either)、非決定計算、継続、パーサ(モナディックパーサ)、リーダ、ライタ、etc.etc……。 なぜこのような差が生じるのでしょうか? その前に、まず押さえておくべきことは、モナドは非常に汎用的な機能だということです。数学的定義はともかく、機能的に言うと、

    モナドはなぜHaskellでしか積極的に使われていないのか? - uehaj's blog
  • モナドが解らない人へ、図解で絶対わかるモナドのしくみ - セカイノカタチ

    前置き みなさん、モナドって、わかりにくいですよね。 なので、図解することで解りやすく説明できるんじゃないかと、何回かモナドの図解を試みてきたのですが、むしろ複雑さが強調されてしまい残念な感じになってしまいました。 過去の図解 モナドってなんだよ!?全然わからないんで分解して図解してみた(´・ω・`) モナドの分解ふたたび ただ、以前よりモナドを表すメタファのイメージがあって、レゴブロックを組み合わせるようなカタチに例えてうまく説明できるんじゃないか。という予感がしていました。 そして、去年の年末ぐらいに、ついにそのカタチの具体的なアイディアを閃きました。 モナドを解りやすく図解する方法思い付いてるんだけど、絵心が足りなくて表現できない。モナドちゃんとかそう言うことではなく(´・ω・`) 2013-01-18 05:05:22 via ついっぷる for Android 今日、この記事を書

  • 1