我正在尝试学习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)
这些Monoids的共同之处在于它们会给你一个新的东西 通过重用类型的Monoid实例来更大类型的Monoid 表示较大类型的组件。
对于较大的数据类型,他的意思是什么?
答案 0 :(得分:5)
我认为作者的意思是:元组可能包含一些rstudio
load glyph failed err=6 face=0x1260460, glyph=2797
load glyph failed err=6 face=0x1260460, glyph=2797
实例Monoid
,a
和b
。但是,我们可以集体查看这些元组中的c
个实例,从而定义类型为Monoid
的新Monoid
。因此,在元组中组合在一起的3个较小的(a, b, c)
个实例会产生比“{1}}更大的”Monoid
个实例。