タグ

2020年1月2日のブックマーク (2件)

  • Scalaでやってみるモナド再入門 (Scala知らなくてもきっと分かるよ) - Qiita

    今回の目的 今回はモナドの厳密なルールより、なぜ使うのか?どう使えるのか?を簡単なところを数学表現なしでまとめてみるのが目的です。 まだまだモナドを完全に完全理解した! とはいい難いのですが、現在までの理解を書いてみたいとおもいます。 関数型プログラミングに関する熱い話はこちらの記事が参考になります! 関数型言語のウソとホント 関数型を考える上での前提 - プログラミングの作用と副作用 プログラミングの入力と出力は関数の引数と戻り値がメインです。 「作用」とは、その引数に対しての戻り値のことです。 Webアプリケーションサーバでの作用の考え方 HttpのリクエストのデータをHttpのレスポンスデータに変換する処理に過ぎません。 Scalaで表現するとこんな関数定義です。 val func : HttpRequest => HttpResponse Scalaでは => は関数の定義を示しま

    Scalaでやってみるモナド再入門 (Scala知らなくてもきっと分かるよ) - Qiita
    tjmtmmnk
    tjmtmmnk 2020/01/02
    “あらゆる文脈を結合して利用できるようにルール化されて、文脈制御の実装が入っているものがモナド”
  • サルでもわかるIOモナド①-副作用の除去

    このところ、仕事の手が空いたときに、Haskell というプログラム言語を勉強しています。Haskellは僕がふだん使っているJavaなどとはかなり趣きが異なるので、 考えさせられる点が多く、気分転換にはぴったりです。 とはいえ、最初はさっぱり理解できない点もありました。「IOモナド」です。 Web上の色々な資料を読んでいるうちにだいたいのところは理解できたのですが、そうなってみると、今度は、 最初に読んだ何冊かの入門書やWeb記事でのIOモナドの説明の仕方が気になってきました。 こうした記事は、素人向けに易しくIOモナドを説明しようとして、その結果、かえって読者を煙に巻いてしまっている面があるんじゃないかと思います。 IOモナドは、Haskell の鬼門とか呼ばれているようですが、わかってみるとさほど難しいものではありません。であれば、僕自身がきわめて素人くさくIOモナドを理解した仕方を

    サルでもわかるIOモナド①-副作用の除去