{-# LANGUAGE
TypeFamilies
, ConstraintKinds
, MultiParamTypeClasses
, TemplateHaskell
, DeriveTraversable
#-}
-----------------------------------------------------------------------------
-- |
-- Module : Data.Algebra
-- Copyright : (c) Sjoerd Visscher 2013
-- License : BSD-style (see the file LICENSE)
--
-- Maintainer : sjoerd@w3future.com
-- Stability : experimental
-- Portability : non-portable
-----------------------------------------------------------------------------
module Data.Algebra
( deriveInstance
, deriveInstanceWith
-- * Classes
, Algebra(..)
, algebraA
, Signature
, AlgebraSignature(..)
) where
import Data.Algebra.Internal
import Data.Algebra.TH