jurisimprudenceのブックマーク (3)

  • 岡部健先生の思い出に捧ぐ

  • 技術ブログ: 30分でわかるJavaScriptプログラマのためのモナド入門

    30分でわかるJavaScriptプログラマのためのモナド入門 岡部 健 / Ken Okabe <kentutorialbook@gmail.com> Table of Contents 1. モナドが難しい? 1.1. モナドを理解するのが難しい理由 2. JavaScriptプログラマのためのモナド入門 2.1. 対象とする読者 2.2. 稿のアプローチ 3. なぜモナドか? 3.1. jQuery 3.2. MonadicReact 3.3. Promise 3.4. Fluture 3.5. まとめ 4. モナド(Monad)とは何か? 4.1. Array.map 4.2. Array.mapと関数型プログラミングの限界 4.3. Array.flat の登場 4.4. unit の定義 4.5. unit と Array.flat の対称性 4.6. モナド(Monad)

    技術ブログ: 30分でわかるJavaScriptプログラマのためのモナド入門
    jurisimprudence
    jurisimprudence 2018/12/26
    いきなり Array.map が自己函手だ(それも map f がArrayを取ってArrayを返すからとかいう理由で)というトンデモな間違いが……と思ったらIQ145の岡部健さんじゃないですか。納得。
  • 関数型プログラミングはまず考え方から理解しよう

    関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。ということでここでは関数型プログラミングの"手法"ではなく、オブジェクト指向と関数型プログラミングを比較しながら考え方の違いを見ていきます。 日の例題 プログラミング課題を設定してオブジェクト指向と関数型で解答してみましょう。 課題: 唐揚げ弁当がいくつかあるとします。それぞれ唐揚げが複数入っています。 この中からx個の唐揚げをつまみいするプログラムを作りましょう。 つまみいはバレないようにする

    関数型プログラミングはまず考え方から理解しよう
    jurisimprudence
    jurisimprudence 2016/04/26
    ""高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。" 要はHaskellでコードが書けなかった人なのね……
  • 1