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