Haskell语言学习笔记(95)Semiring

semirings 模块

semirings 模块需要安装

$ cabal install semirings
Installed semirings-0.2.0.1
Prelude> :m +Data.Semiring
Prelude Data.Semiring> 

Semiring

class Semiring a where
  plus  :: a -> a -> a -- ^ Commutative Operation
  zero  :: a           -- ^ Commutative Unit
  times :: a -> a -> a -- ^ Associative Operation
  one   :: a           -- ^ Associative Unit

Semiring(半环)类型类至少包含四个成员:加法,乘法,零元和幺元。
这个类型类可以看成两个 Monoid (幺半群)的组合。

原文地址:https://www.cnblogs.com/zwvista/p/11182463.html