2人の違いを簡単に説明できますか?私は、モナドがエンドフュンターである部分と、単にファンクターである部分を完全に理解していません。ファンクタと院内医の違い
37
A
答えて
50
ファンクタはあるカテゴリから別のカテゴリに進むことができます。エンドファンクタは、開始カテゴリとターゲットカテゴリが同じであるファンクタです。
内部形態対モーフィズムと同じです。
なぜ、モナドは内視鏡医でなければならないのですか?
「モナドは、エンドフュンターのカテゴリーで単なるモナドです」という有名な引用があります。幸いにも、他の誰かがすでにそれをかなりよく説明していますin this answer。
なぜ、モナドが内語辞典でなければならないかという重要なポイントは、ホースケルで呼ばれるようにjoin
、またはµ
です。通常、カテゴリ理論で呼ばれているように、モナドの定義¹の一部です。今
Prelude Control.Monad> :t join
join :: Monad m => m (m a) -> m a
ようにオブジェクトにファンクタm
を適用した結果は、(Haskに、射などのオブジェクトや関数としてHaskellの種類のカテゴリ、タイプ)m
が再び適用できることオブジェクトでなければなりません。つまり、ファンクタm
のドメインであるカテゴリに属している必要があります。
functorは、そのドメインとcodomainが同じであれば(厳密には、そのcodomainがそのドメインのサブカテゴリである場合)、つまりエンドofunctorである場合にのみ作成できます。モナドとのコンポジタビリティはモナドの定義の一部であるため、モナドはフォルディオリファイヤーです。
1一方の定義では、(>>=)
またはbind
を使用してモナドを定義し、派生プロパティとしてjoin
を指定することもできます。
関連する問題
- 1. 無料のモナドとファンクタの固定点の違いは?
- 2. C++ 11スレッドパズル内のファンクタ
- 3. ファンクタにファンクタを渡す
- 4. 病院管理システムのCMSとERP
- 5. ファンクタのインスタンスを別のファンクタに渡す
- 6. GHCの7.0.4あなたを学びハスケルの「ファンクタ、Applicativeのファンクタとモノイド」の章ではファンクタ
- 7. 適用ファンクタでもっと楽しい
- 8. C++ファンクタと関数テンプレート
- 9. ジェネリック医薬品とClassCastExceptionが
- 10. モナドがファンクタと応用ファンクタであることを示すには?
- 11. はコレクション/ファンクタ
- 12. ジェネリック医薬品
- 13. JAXB:ジェネリック医薬品との多型
- 14. レール内の - %>と%>の違い
- 15. フラグメント内のcommit()とcommitAllowingStateLoss()の違い
- 16. Fortran:fとFの内線の違い
- 17. コンテナ内のすべてのファンクタを呼び出す
- 18. 病院の問題追跡システム?
- 19. の分類病院アドミタンスデータまたはR
- 20. 病院管理システムの認証
- 21. NTFSとFAT:内部での違い
- 22. ジェネリック医薬品の良いデザイン
- 23. ジェネリック医薬品と違いクラスからオーバーロードされたメソッドを呼び出す - 優先順位の問題
- 24. ハスケル:このデータ型のファンクタ?
- 25. クローズジェネリック医薬品は
- 26. エンキャプスの法医学.dd
- 27. 医療アプリケーションのセキュリティ要件
- 28. ILのジェネリック医薬品は?
- 29. ジェネリック医薬品のC#.NET
- 30. ファンクション内でファンクタを定義する方法
エンドヒューマンではない、ハスケルのファンクタはありますか? (彼らはすべてHaskをHaskにマップしないのですか?) – huon
Haskellのすべてのファンは、endoです。 –
非内科医は、http://hackage.haskell.org/packages/archive/categories/1.0/doc/html/Control-Categorical-Functor.html – sdcvvc