首页 > 解决方案 > 你如何确定一个类型是否是一个函子在haskell中?

问题描述

我有一个数据类型:

data Tree a = Leaf | Branch a (Tree a) (Tree a)

我想确定,不仅是这种数据类型,还有其他数据类型,比如 String,如果这些数据类型是符合法律的 functor 实例(https://hackage.haskell.org/package/base-4.14.0.0/ docs/Data-Functor.html)。该链接表明,如果一个类型具有函数 fmap,则可以证明它是函子,给定任何类型 a 和 b,它允许您应用任何类型的函数 (a -> b) 将 fa 转换为 fb,保留f的结构。我将如何测试我的 Tree 数据类型或 String 数据类型?

标签: haskellfunctor

解决方案



推荐阅读