有没有一种方法来进一步限制现有类型类的上下文?
例如,类型类
例如,类型类
Functor
:class Functor f where
fmap :: (a -> b) -> f a -> f b
这个类定义不强制要求a
或b
是Show
的元素。此外,这个类型类是由我自己包含的,所以我不能影响这个类的定义。后来是否有可能只允许那些属于Show
的a
和b
成员?
ShowFunctor
。你不能将其变成一个applicative(因此也不能是Monad),因为applicative需要能够包装函数,而函数没有show实例。 - mb14