pulling semiring in module

This commit is contained in:
Stephen Diehl
2016-04-19 09:32:59 -04:00
parent fba329438f
commit 0b3090973e
4 changed files with 21 additions and 29 deletions
+19
View File
@@ -0,0 +1,19 @@
{-# 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