1. ホーム
  2. haskell

[解決済み] Haskellのmapにはfmapがあるのに、何の意味があるのだろう?

2022-10-14 23:07:54

質問

どこもかしこも map , fmap も同様に機能しました。Haskellの作者たちは、なぜ map 関数が必要だったのでしょうか?現在知られているものだけではだめだったのでしょうか? fmapfmap は言語から削除される可能性がありますか?

どのように解決するのですか?

を注目させるような回答をしたいのですが。 augustssさんのコメント :

<ブロッククオート

実はそういうわけではありません。何が起こったかというと、Haskell 1.3でmapの型がFunctorをカバーするように一般化されたのです。つまり、Haskell 1.3ではfmapはmapと呼ばれていたのです。そして、この変更は、Haskell 1.4で元に戻され、fmapが導入された。この変更の理由は教育的なもので、初心者にHaskellを教えるときに、mapという非常に一般的な型ではエラーメッセージがわかりにくくなってしまうからだ。私の意見では、これは問題を解決するための正しい方法ではありませんでした。

Haskell 98 は、(私を含む)一部の Haskeller からは後退したと見られており、以前のバージョンではより抽象的で一貫したライブラリが定義されていました。 まあ、いいや。