gpt4 book ai didi

haskell - 为什么没有办法在 Haskell 中推导出 Applicative Functor?

转载 作者:行者123 更新时间:2023-12-03 13:59:00 26 4
gpt4 key购买 nike

在 Haskell 中,您可以推导出 Functor , FoldableTraversable自动使用 deriving .没有办法推导出Applicative , 尽管。考虑到有一种明显的方法来定义 Applicative实例(相当于一个压缩应用程序),没有任何方法可以启用deriving Applicative ?

最佳答案

不,这一点都不明显。比较以下 Applicative实例:

  • []
  • ZipList
  • Data.Sequence.Seq ,其 Applicative instance declaration运行到几百行。
  • IO
  • (->) r
  • parsec 中的解析器, attoparsec , regex-applicative .
  • Proxypipes包裹。

  • 这里几乎没有统一性,而且大多数情况都是不明显的。

    David Young comments , []ZipList实例“最终都是两个不同的、同样有效的 Applicative 列表类型的实例。”

    关于haskell - 为什么没有办法在 Haskell 中推导出 Applicative Functor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29787252/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com