protolude-0.1.5: src/Semiring.hs
{-# LANGUAGE Safe #-}
{-# LANGUAGE NoImplicitPrelude #-}
module 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