タグ

ブックマーク / qiita.com/ruicc (2)

  • モナドをラップする話 - Qiita

    自分で使うモナドをラップする TL;DR 使うモナドをラップしておくとモナドの変更に対して対応が楽ですよ、という話です。 シナリオ例 開発当初、開発者がこのプロダクトで使うモナドはState SomeState aが適切である!!と考えていたとしましょう。 そうしてコードをガリガリ書いていきます。 そうするとコード中にStateが散らばります。この数をN個としておきましょう。 func_1 :: State SomeState a func_2 :: State SomeState a -- ... func_N :: State SomeState a

    モナドをラップする話 - Qiita
  • モナド入門以前 - Qiita

    前書き これはモナドチュートリアルではない、だろう。 この文章を書く動機は、モナドを知らない人がモナドという未知の概念に期待しているものが根的にずれているかもしれないという懸念である。 命令型言語でプログラミングを覚えた人がモナド、もしくはHaskellや関数型言語(と言われる言語)を学習する際にしばしば受ける助言はこうだ: 「命令型言語で今まで習ったことを全て忘れて取り組むと良いよ」 この助言はそこまで外していないかもしれないが、雑である。 いつか僕の友人がこのようなことを言った: 「プログラマがチームで働く時、必要なのは相手を思いやる気持ちだよね」 この発言は恐らくそこまで外れてはいないが、思いやりで全てを解決しようとすると、全てのコストが非常に高くなる。個々の問題へ目を向け、それぞれの解法を知っておくことによってコストは低くすることが出来ると僕たちは知っている。まあ友人はそんなこと

    モナド入門以前 - Qiita
    joan9
    joan9 2015/06/29
    なるほどな〜
  • 1