haskell - 为什么应该在函数式编程中使用应用仿函数?

标签 haskell functional-programming functor

我是 Haskell 的新手,我正在阅读有关仿函数和应用仿函数的内容。好的,我了解仿函数以及如何使用它们,但我不明白为什么 applicative 仿函数有用以及如何在 Haskell 中使用它们。你能用一个简单的例子向我解释为什么我需要应用仿函数吗?

最佳答案

Applicative functors是一种提供仿函数和 monads 之间的中点的结构,因此比 monad 更广泛,同时比仿函数更有用。通常,您可以将函数映射到仿函数上。应用仿函数允许您采用“普通”函数(采用非仿函数参数),使用它来对仿函数上下文中的多个值进行操作。作为推论,这可以让您在没有 monad 的情况下进行有效的编程。

可以在 here 找到一个很好的、独立的、充满示例的解释。 。您还可以阅读a practical parsing example由 Bryan O'Sullivan 开发,不需要先验知识。

关于haskell - 为什么应该在函数式编程中使用应用仿函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6570779/

相关文章:

functional-programming - OCaml 中的可变数据

c++ - If 函数参数内的语句;分支类型

haskell - Functor 类型类背后的历史是什么?

haskell - Haskell 递归数据类型的“默认行为”

haskell - Haskell 中的镜头与 Clojure 中使用按键序列之间有哪些异同?

haskell - 如何在 Haskell 中使用 "overload"美元运算符

class - 如何定义父类(super class)?

haskell - 为什么要使用类型类而不是模式匹配?

algorithm - 找到除以haskell的阶乘的数字的最大幂

c++ - 为什么带有指向模板仿函数指针的 Map 作为 value_type 不起作用?