Learn you a haskell介绍了Functor类型类。对于列表,它的实现如下:
但是这是如何运作的呢?
在类型类Functor中,fmap甚至没有实现。它只有像这样的类型声明:
仅仅通过类型声明,Haskell如何正确地为列表(Lists)推导出map操作的实现?
instance Functor [] where
fmap = map
但是这是如何运作的呢?
在类型类Functor中,fmap甚至没有实现。它只有像这样的类型声明:
class Functor f where
fmap :: (a -> b) -> f a -> f b
仅仅通过类型声明,Haskell如何正确地为列表(Lists)推导出map操作的实现?