{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE Safe #-} module Lemmata.Semiring ( Semiring(..), zero, ) where import Data.Monoid -- | Alias for 'mempty' zero :: Monoid m => m zero = mempty class Monoid m => Semiring m where {-# MINIMAL one, (<.>) #-} one :: m (<.>) :: m -> m -> m