タグ

monadに関するgom68のブックマーク (5)

  • JavaのOptionalのモナド的な使い方 - Qiita

    NullPointerException 嫌いですよね!そんなときに頼りになるのが Java 8 から導入された Optional です。 でも、 null の代わりに Optional を積極的に使うとコードが Optional だらけになり、特に次のような場合に面倒くさいです。 Optional<Integer> a があるとき、 a の値を二乗したい。ただし、 a が empty の場合は empty を得たい。 Optional<Double> a があるとき、 a の平方根を計算したい。ただし、 a が empty または負の数の場合は empty を得たい。なお、 Math.sqrt を安全にした(負の数を渡すと empty を返す)関数 Optional<Double> safeSqrt(double) があるものとして考えて良い。 Optional<Integer> a と

    JavaのOptionalのモナド的な使い方 - Qiita
  • モナドについて考えた記録 - 素人がプログラミングを勉強していたブログ

    Promiseってなんとなくモナドっぽいなと思って、ジェネレータ使ってHaskellのdoを再現できないかなあというのがはじまり。結論からいうと、できない。 そもそもPromiseがモナドであるかを考える。 return :: Monad m => a -> m a 値を受け取ってfulfilledされたPromiseを返すものだ Promise.fulfill / Promise.resolveがこれにあたる。 Promise.mreturn = Promise.fulfill || Promise.resolve; >>= :: Monad m => m a -> (a -> m b) -> m b bindとも呼ばれたりする。この関数に、値を受け取ってモナドを返す関数を渡すと、その値が結果になる。 Promise.prototype.mbind = Promise.prototype

    モナドについて考えた記録 - 素人がプログラミングを勉強していたブログ
    gom68
    gom68 2013/12/09
  • 圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ

    はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。 ただ、圏論といっても適用範囲がとっても広く、応用編になると分けわかんなくなってくるので、ここではプログラミング分野に特化したFP(functional programing)圏論*1について書きます。 また、説明を簡単にする為に細かい部分をいろいろ省略しています。学術的な定義としては正確ではないので、このエントリの説明は大体合ってる位の気持ちで読んでくださいね。 尚、ぼくは圏論の詳しい事はさっぱり分からないので、学問的な話を振られても回答できませんキリッ 圏ってなんなの? 圏論と言えば、圏です。 圏って何なのかというと、対象(obje

    圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ
  • Dorophone: Deep Emacs Lisp Part 1 (Basically, a Monad Tutorial)

    Implementing Monads (Note: everything in this tutorial (and this tutorial) is available on my github ) I've started working on an impleme...

  • jQueryはモナドだ - id:anatooのブログ

    この記事はjQuery is a Monad | Important Shockという記事の勝手訳です。 追記1: bonotakeさんが補足記事を書いてくれています → JQueryがモナドかどうかとか - たけをの日記@天竺から帰ってきたよ 追記2: hirataraさんが補足記事を書いてくれています → jQueryは当にモナドだった - 北海道苫小牧市出身のPGが書くブログ Haskellプログラマーは誰しもがモナドに関する各々のチュートリアルを書くと言われる。というのも、一度モナドの定義とその可能性を理解すれば、モナド全体を囲む神秘性に挑戦して打ち破るのが容易になるからだ。門外漢からすれば、モナドはHaskellを真に理解することを妨げる不可解な障壁だ。モナドはとても不適当な名前で呪われていて、一風変わった文法を持ち、一度に何もかもやってしまう様に見える。しかしながら、その動き

    jQueryはモナドだ - id:anatooのブログ
  • 1