【发布时间】:2013-04-02 21:09:35
【问题描述】:
Learn you a haskell 给出了关于 Functor 类型类的描述。
我可以看到,对于列表,它的实现如下:
instance Functor [] where
fmap = map
但是这是如何工作的呢?
在类型类 Functor 中,fmap 甚至没有实现。它所拥有的只是这样的类型声明:
class Functor f where
fmap :: (a -> b) -> f a -> f b
仅通过类型声明,Haskell 如何正确计算 List 的映射操作?
【问题讨论】:
-
您可能想阅读我为this question 写的Functors 教程。