numhask-0.0.1: src/NumHask/Algebra/Field.hs
{-# LANGUAGE ExtendedDefaultRules #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wall #-}
-- | Field
module NumHask.Algebra.Field (
Field
) where
import Protolude (Double, Float)
import Data.Functor.Rep
import NumHask.Algebra.Additive
import NumHask.Algebra.Multiplicative
import NumHask.Algebra.Distribution
import NumHask.Algebra.Ring
-- | Field
class ( AdditiveGroup a
, MultiplicativeGroup a
, Distribution a
, Ring a) =>
Field a
instance Field Double
instance Field Float
instance (Representable r, Field a) => Field (r a)