Python、Javascript、Java などの命令型言語から来た私は、関数のオーバーヘッドと、パフォーマンスの観点からmapを避ける理由についてよく読んでいました。明らかに、これらは関数型言語ではなく、外国の概念は通常、最適化されておらず、慣用的ではない傾向があります。関数を呼び出すと、レジスタから値が高価なスタックに値がプッシュされることを理解しています。
FP の概念と言語に関する最近の話題で、Haskell はこの問題をどのように解決するのだろうか? コンパイラが大量にインライン化しているだけですか?それに加えて、JVM 上の FP 言語 (Clojure/Scala) はこの問題をどのように解決しますか? 適切な Tail-Call 最適化がなくても、FP コードの最適化に関して JVM の機能についてかなりのことがわかります。
ありがとうございました!