haskell - 在 Haskell 中导出任意函数

标签 haskell types typeclass derived-instances

在 Haskell 中使用派生实例时,是否可以为任意类型派生函数,或者我们是否仅限于特定函数?

最佳答案

您可以在 haskell 98 中派生以下类的实例:Eq、Ord、Enum、Ix、Bounded、Read 和 Show。

使用 ghc 扩展,您还可以派生以下类的实例:Typeable、Data、Functor、Foldable 和 Traversable。还有一个 ghc 扩展允许新类型从其实现类型派生实例。

您不能派生任意类的实例,原因很简单,即如果没有有关类的特殊知识,haskell 将不知道如何生成必要的函数。

关于haskell - 在 Haskell 中导出任意函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2436852/

相关文章:

haskell - Arrow 和 Monad,两个独立的观点来组成计算?

haskell - Haskell中如何实现多种外部格式的数据多态?

list - Haskell : Map and Zip A List

c# - 在 C# 中测试泛型类型的惯用方法

java - Wild FJ 论文中类型变量和类型参数的区别?

haskell - 封闭类型类是否足以推断关联类型(没有类型族)?

haskell - 默认方法中对幻像类型的类约束的编译错误

haskell - 如何检查树是否是满二叉树

haskell - 使用构造函数的一部分在 Haskell 数据中派生实例

Java类方法定义String类型,以int为参数并返回null