numeric-prelude-0.4.2: An experimental alternative hierarchy of numeric type classes

MathObj.Wrapper.NumericPrelude

Description

A wrapper that provides instances of Haskell 98 and NumericPrelude numeric type classes for types that have NumericPrelude instances.

Synopsis

Documentation

newtype T a Source

This makes a type usable with Haskell98 type classes that was initially implemented for NumericPrelude typeclasses. E.g. if `a` is in class `C`, then `T a` is both in class `Num` and in `C`.

You can even lift container types. If `Polynomial a` is in `C` for all types `a` that are in `C`, then `T (Polynomial (MathObj.Wrapper.Haskell98.T a))` is in `Num` for all types `a` that are in `Num`.

Constructors

 Cons Fieldsdecons :: a

Instances

 Functor T Bounded a => Bounded (T a) Enum a => Enum (T a) Eq a => Eq (T a) (C a, C a, Eq a, Show a) => Floating (T a) (C a, C a, Eq a, Show a) => Fractional (T a) (C a, C a, C a, Ord a, Enum a, Show a) => Integral (T a) (C a, C a, Eq a, Show a) => Num (T a) Ord a => Ord (T a) (C a, C a, Ord a, Show a) => Real (T a) (C a, C a, C a, C a, Ord a, Show a) => RealFloat (T a) (C a, C a, C a, C a, Ord a, Show a) => RealFrac (T a) Show a => Show (T a) Ix a => Ix (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a => C (T a) C a v => C (T a) (T v) C a v => C (T a) (T v) C a v => C (T a) (T v) C a v => C (T a) (T v) Sqr a v => Sqr (T a) (T v) C a v => C (T a) (T v) C a v => C (T a) (T v) C a v => C (T a) (T v)

lift1 :: (a -> b) -> T a -> T b Source

lift2 :: (a -> b -> c) -> T a -> T b -> T c Source