向你学习一个 haskell给出了关于 Functor 类型类的描述。
我可以看到对于列表,它的实现如下:
instance Functor [] where
fmap = map
但这是如何工作的?
在类型类 Functor 中,fmap 甚至没有实现。它所拥有的只是这样的类型声明:
class Functor f where
fmap :: (a -> b) -> f a -> f b
仅仅通过类型声明,Haskell 如何正确计算 List 的映射操作?