[英]Monoid of larger type
我正在尝试学习haskell,并阅读haskellbook。
在书中,作者提到了较大的类型,如下所示:
instance Monoid b => Monoid (a -> b)
instance (Monoid a, Monoid b) => Monoid (a, b)
instance (Monoid a, Monoid b, Monoid c) => Monoid (a, b, c)
这些Monoid的共同之处在于,它们通过重用表示较大类型组件的类型的Monoid实例,为较大的类型提供了新的Monoid。
对于较大的数据类型,他是什么意思?
我认为作者的意思是:一个元组可能包含一些Monoid
实例a
, b
和c
。 但是,我们可以集中查看这些元组中的Monoid
实例,从而定义类型为(a, b, c)
的新Monoid
。 因此,从3个较小的Monoid
实例组合成一个元组,将在(a, b, c)
产生一个“较大”的Monoid
实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.