foldr
およびfoldMap
は、私が理解するようにお互いを定義するために使用できます。しかし、後者はモノイドを使用するので、前者はできませんが、どのように可能ですか? foldr
の作品がモノイドを持つことができるという保証はありますか?後者がモノイドと関係がないとき、foldMapはfoldrと同じようにできますか?
6
A
答えて
6
foldr :: (a -> b -> b) -> b -> [a] -> b
はa -> (b -> b)
です。機能b -> b
は、組成の下にモノイドを形成する。これは
foldMap :: (..omitted..) => (a -> m) -> f a -> m
唯一の違いに似ているか
注foldMapがfold
の種類b
の「ゼロ」引数を使用しないことであるとfoldr
の面でb->b
だろうm
を返します。もう片方を適用してfoldr
をfoldMap
から回復しました。
+0
typoを修正していただきありがとうございます;) –
関連する問題
- 1. パブリッククラスが同じネームスペースに関係なくアクセスできない
- 2. 異なる関数を書くときと、同じ関数をパラメータで使うときはいつですか?
- 3. クラスが関数とデータメンバで同じ名前を持つことができないのはなぜですか?
- 4. 複数のテーブルが同じテーブルと関係しています
- 5. 私はどのようにコメントを同じようなボタンで掲示することができますか?
- 6. Imageと同じようにビルドしたいが、起動できない
- 7. String.fromCodePointをString.fromCharCodeと同じように使用できますか?
- 8. 依存関係と関連は同じですか?
- 9. 同じDLLをコンソールアプリケーションとNuGetの両方の依存関係にすることはできますか?
- 10. Box :: newと同じ型の関数を書くことができないのはなぜですか?
- 11. ビルドマシンにはどの依存関係がインストールされていると見なすことができますか?
- 12. キーとshouldComponentUpdateとの関係はどのように関係していますか?同じではありませんか?
- 13. PHPは、クラス関数とプロパティが同じ名前を共有できるようにしますか?鉱山の
- 14. 同じモデルとの関係が異なる
- 15. 雄弁な関係とデータベースまたは3者関係
- 16. は、モジュール名をクラス名と同じにすることができますか?
- 17. 所有者が個人または会社になることができるアイテムと所有者との関係を作成する方法
- 18. YUI 2.9とYUI 3.3を同じhtmlでどのように使うことができますか?
- 19. foldlとfoldrはどのように機能しますか?
- 20. load()を使わずに同じことができますか?
- 21. は、弱いエンティティセットと強いエンティティセットとの関係を多対多にすることができますか?
- 22. どのように私は同じフラグメント内のjsonからサーバとインスタントアップデートリストビューを送ることができます
- 23. アプリランチャーと同じ方法で、iPhoneのPNGをどのように輝かせることができますか?
- 24. 両者が同時に真実であることができないようにするにはどうすればよいですか?
- 25. haskellにはaccumArrayとfoldrが混在しているような機能がありますか?
- 26. 同じモジュール内の属性と同じ名前のモジュールで定義された関数をどのように呼び出すことができますか?
- 27. 同じトリガー内でINSERTとAFTER INSERTをどのようにすることができますか? (SQLサーバー)
- 28. どのようにコントローラを依存関係として渡すことができますか?
- 29. Herokuに展開しようとしているときにwebpackの依存関係がありませんか?
- 30. レイアウトが同じときにタブをスワイプ
[Tom Ellis '"foldrは何で作られていますか?"](http://web.jaguarpaw.co.uk/~tom/blog/posts/2012-11-04-what -is-foldr-made-of.html)と[Brent Yorgeyの反応「foldrはモノイドでできている」](https://byorgey.wordpress.com/2012/11/05/foldr-is-made-of - モノイド/)。 –