{-# LANGUAGE NoImplicitPrelude #-}
{- |
Copyright    :   (c) Mikael Johansson 2006
Maintainer   :   mik@math.uni-jena.de
Stability    :   provisional
Portability  :

Abstract concept of a Monoid. Will be used in order to generate
type classes for generic algebras. An algebra is a vector space
that also is a monoid.
-}

module Algebra.Monoid where

{- | We expect a monoid to adher to associativity and the identity
behaving decently. Nothing more, really. -}

class C a where
  idt   :: a
  (<*>) :: a -> a -> a