semiring-0.3: Data/Semiring/Boolean.hs
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Data.Semiring.Boolean where
import Data.Semiring
import qualified Data.Boolean as B
import Data.Boolean ((&&*),(||*))
newtype Boolean = Boolean Bool
deriving (Eq, Show, B.Boolean)
instance Multiplicative Boolean where
one = B.true
times = (&&*)
instance Monoid Boolean where
mempty = B.false
mappend = (||*)
instance Semiring Boolean