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

Safe HaskellNone

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 

Fields

decons :: 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 bSource

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