タグ

2020年5月7日のブックマーク (3件)

  • Useful “reduce” use cases

  • foldlを直す - 純粋関数空間

    http://www.well-typed.com/blog/90/ foldlに関するこの記事(英文)が面白かったので、勝手翻訳しました。 foldlなんとかなるといいですね。 foldlを直す foldl 関数は壊れている。壊れているとみんなが知っている。 四半世紀近く壊れたままだ。ついにこれを修正する時が来た! 今日、私はPrelude.foldlをData.List.foldl'として知られる実装で再定義することを提案する。 foldlは壊れている! 既にご存知だとは思うが、念のため… Haskellerが必ずfoldlではなく、foldrやfoldl'を使うように勧めてくることにお気づきだろうか? 例えばReal World Haskellでは次のように言っている。 `foldl`のサンクの挙動のため、実アプリではこの関数を使わないようにするのが望ましい。 特に問題がない場合でも

  • プログラミングHaskellのfoldr, foldlの説明が秀逸だった件 - あと味

    今年はHaskellを勉強しています。 土日などを利用して、すごいHを3〜4週間かけて読み終えました。時間かかった分、記憶の密度が低くて、まだ理解度は低いです。 新しい概念を学ぶ時は、同じテーマのを何冊か読んで、当に読みたかったを再度読み直すというのが自分の学習の方法として定着しているので、今は、プログラミングHaskellを読み進めています。 すでに「ふつうのHaskellプログラミング」は読み終えていましたが、改めて読むと、当に普通のプログラミングに感じたので、すごいHがかなり刺激的で、よくできたなんだと思います。読み直す時が楽しみであります。 題 さて、「プログラミングHaskell」の話に戻りますが、foldrとfoldlの説明の箇所が秀逸だと思ったので内容を紹介してみます。*1 fold関数は、他の言語でreduceとかinjectとか呼ばれている関数ですね。個

    プログラミングHaskellのfoldr, foldlの説明が秀逸だった件 - あと味