它只是在我看来,没有办法将单个值注入到Monoid中Data.Monoid.我Data.Monad.return对此犹豫不决,但希望找到类似singleton几种类型的东西.
aug*_*tss 15
本Monoid类不允许任何形式注入的,因为独异是没有任何一种容器.一些容器是幺半群,然后它们将有自己的注射方式.对于相对一般的注射,您可以使用pure从Applicative,或return从Monad(前者是更普遍).
添加其他人所说的:Int形成一个幺半群(以几种不同的方式).你会如何"注入"一个价值Int?好吧,你没有; 一个Int只是一个Int.你可以使用零或什么......?
现在,如果某个东西是一个容器,它会形成一个幺半群.但是monoid位不能帮助你将它当作一个容器; 你需要尝试别的东西.许多不是容器的东西形成幺半群.