[Pkg-haskell-commits] darcs: haskell-maths: Drop the add-Eq-constraints patch; applied upstream.

Iulian Udrea iulian at physics.org
Thu Feb 16 19:12:31 UTC 2012


Thu Feb 16 18:59:47 UTC 2012  Iulian Udrea <iulian at physics.org>
  * Drop the add-Eq-constraints patch; applied upstream.
  Ignore-this: ec3d90b55770b7501c6767f48e903df7

    M ./changelog -1 +2
    R ./patches/
    R ./patches/add-Eq-Constraints
    R ./patches/series

Thu Feb 16 18:59:47 UTC 2012  Iulian Udrea <iulian at physics.org>
  * Drop the add-Eq-constraints patch; applied upstream.
  Ignore-this: ec3d90b55770b7501c6767f48e903df7
diff -rN -u old-haskell-maths//changelog new-haskell-maths//changelog
--- old-haskell-maths//changelog	2012-02-16 19:12:31.179249287 +0000
+++ new-haskell-maths//changelog	2012-02-16 19:12:31.203248861 +0000
@@ -1,9 +1,10 @@
 haskell-maths (0.4.3-1) unstable; urgency=low
 
   * New upstream release.
+  * Drop the add-Eq-constraints patch; applied upstream.
   * Update debian/copyright.
 
- -- Iulian Udrea <iulian at physics.org>  Thu, 16 Feb 2012 18:48:05 +0000
+ -- Iulian Udrea <iulian at physics.org>  Thu, 16 Feb 2012 18:55:59 +0000
 
 haskell-maths (0.4.1-2) unstable; urgency=low
 
diff -rN -u old-haskell-maths//patches/add-Eq-Constraints new-haskell-maths//patches/add-Eq-Constraints
--- old-haskell-maths//patches/add-Eq-Constraints	2012-02-16 19:12:31.195251697 +0000
+++ new-haskell-maths//patches/add-Eq-Constraints	1970-01-01 00:00:00.000000000 +0000
@@ -1,1260 +0,0 @@
-Description: Add Eq Constraints
- to make it compile with GHC 7.4.1
-Author: Joachim Breitner <nomeata at debian.org>
-
-Index: haskell-maths-0.4.1/Math/Algebras/VectorSpace.hs
-===================================================================
---- haskell-maths-0.4.1.orig/Math/Algebras/VectorSpace.hs	2012-02-04 12:19:38.000000000 +0100
-+++ haskell-maths-0.4.1/Math/Algebras/VectorSpace.hs	2012-02-04 12:22:45.000000000 +0100
-@@ -19,7 +19,7 @@
- -- Elements of Vect k b consist of k-linear combinations of elements of b.
- newtype Vect k b = V [(b,k)] deriving (Eq,Ord)
- 
--instance (Num k, Show b) => Show (Vect k b) where
-+instance (Show k, Eq k, Num k, Show b) => Show (Vect k b) where
-     show (V []) = "0"
-     show (V ts) = concatWithPlus $ map showTerm ts
-         where showTerm (b,x) | show b == "1" = show x
-@@ -52,11 +52,11 @@
- zerov = V []
- 
- -- |Addition of vectors
--add :: (Ord b, Num k) => Vect k b -> Vect k b -> Vect k b
-+add :: (Ord b, Eq k, Num k) => Vect k b -> Vect k b -> Vect k b
- add (V ts) (V us) = V $ addmerge ts us
- 
- -- |Addition of vectors (same as add)
--(<+>) :: (Ord b, Num k) => Vect k b -> Vect k b -> Vect k b
-+(<+>) :: (Ord b, Eq k, Num k) => Vect k b -> Vect k b -> Vect k b
- (<+>) = add
- 
- addmerge ((a,x):ts) ((b,y):us) =
-@@ -68,33 +68,33 @@
- addmerge [] us = us
- 
- -- |Sum of a list of vectors
--sumv :: (Ord b, Num k) => [Vect k b] -> Vect k b
-+sumv :: (Ord b, Eq k, Num k) => [Vect k b] -> Vect k b
- sumv = foldl (<+>) zerov
- 
- -- |Negation of vector
--neg :: (Num k) => Vect k b -> Vect k b
-+neg :: (Eq k, Num k) => Vect k b -> Vect k b
- neg (V ts) = V $ map (\(b,x) -> (b,-x)) ts
- 
- -- |Subtraction of vectors
--(<->) :: (Ord b, Num k) => Vect k b -> Vect k b -> Vect k b
-+(<->) :: (Ord b, Eq k, Num k) => Vect k b -> Vect k b -> Vect k b
- (<->) u v = u <+> neg v
- 
- -- |Scalar multiplication (on the left)
--smultL :: (Num k) => k -> Vect k b -> Vect k b
-+smultL :: (Eq k, Num k) => k -> Vect k b -> Vect k b
- smultL 0 _ = zero -- V []
- smultL k (V ts) = V [(ei,k*xi) | (ei,xi) <- ts]
- 
- -- |Same as smultL. Mnemonic is \"multiply through (from the left)\"
--(*>) :: (Num k) => k -> Vect k b -> Vect k b
-+(*>) :: (Eq k, Num k) => k -> Vect k b -> Vect k b
- (*>) = smultL
- 
- -- |Scalar multiplication on the right
--smultR :: (Num k) => Vect k b -> k -> Vect k b
-+smultR :: (Eq k, Num k) => Vect k b -> k -> Vect k b
- smultR _ 0 = zero -- V []
- smultR (V ts) k = V [(ei,xi*k) | (ei,xi) <- ts]
- 
- -- |Same as smultR. Mnemonic is \"multiply through (from the right)\"
--(<*) :: (Num k) => Vect k b -> k -> Vect k b
-+(<*) :: (Eq k, Num k) => Vect k b -> k -> Vect k b
- (<*) = smultR
- 
- -- same as return
-@@ -107,7 +107,7 @@
- 
- -- |Convert an element of Vect k b into normal form. Normal form consists in having the basis elements in ascending order,
- -- with no duplicates, and all coefficients non-zero
--nf :: (Ord b, Num k) => Vect k b -> Vect k b
-+nf :: (Ord b, Eq k, Num k) => Vect k b -> Vect k b
- nf (V ts) = V $ nf' $ L.sortBy compareFst ts where
-     nf' ((b1,x1):(b2,x2):ts) =
-         case compare b1 b2 of
-@@ -135,7 +135,7 @@
- --
- -- If we have A = Vect k a, B = Vect k b, and f :: a -> Vect k b is a function from the basis elements of A into B,
- -- then @linear f@ is the linear map that this defines by linearity.
--linear :: (Ord b, Num k) => (a -> Vect k b) -> Vect k a -> Vect k b
-+linear :: (Ord b, Eq k, Num k) => (a -> Vect k b) -> Vect k a -> Vect k b
- linear f v = nf $ v >>= f
- 
- newtype EBasis = E Int deriving (Eq,Ord)
-@@ -154,7 +154,7 @@
- -- but in the code, we need this if we want to be able to put k as one side of a tensor product.
- type Trivial k = Vect k ()
- 
--wrap :: Num k => k -> Vect k ()
-+wrap :: (Eq k, Num k) => k -> Vect k ()
- wrap 0 = zero
- wrap x = V [( (),x)]
- 
-Index: haskell-maths-0.4.1/Math/Algebras/TensorProduct.hs
-===================================================================
---- haskell-maths-0.4.1.orig/Math/Algebras/TensorProduct.hs	2011-11-10 22:38:12.000000000 +0100
-+++ haskell-maths-0.4.1/Math/Algebras/TensorProduct.hs	2012-02-04 12:25:06.000000000 +0100
-@@ -27,7 +27,7 @@
- 
- -- |The coproduct of two linear functions (with the same target).
- -- Satisfies the universal property that f == coprodf f g . i1 and g == coprodf f g . i2
--coprodf :: (Num k, Ord t) =>
-+coprodf :: (Eq k, Num k, Ord t) =>
-     (Vect k a -> Vect k t) -> (Vect k b -> Vect k t) -> Vect k (DSum a b) -> Vect k t
- coprodf f g = linear fg' where
-     fg' (Left a) = f (return a)
-@@ -35,33 +35,33 @@
- 
- 
- -- |Projection onto left summand from direct sum
--p1 :: (Num k, Ord a) => Vect k (DSum a b) -> Vect k a
-+p1 :: (Eq k, Num k, Ord a) => Vect k (DSum a b) -> Vect k a
- p1 = linear p1' where
-     p1' (Left a) = return a
-     p1' (Right b) = zero
- 
- -- |Projection onto right summand from direct sum
--p2 :: (Num k, Ord b) => Vect k (DSum a b) -> Vect k b
-+p2 :: (Eq k, Num k, Ord b) => Vect k (DSum a b) -> Vect k b
- p2 = linear p2' where
-     p2' (Left a) = zero
-     p2' (Right b) = return b
- 
- -- |The product of two linear functions (with the same source).
- -- Satisfies the universal property that f == p1 . prodf f g and g == p2 . prodf f g
--prodf :: (Num k, Ord a, Ord b) =>
-+prodf :: (Eq k, Num k, Ord a, Ord b) =>
-     (Vect k s -> Vect k a) -> (Vect k s -> Vect k b) -> Vect k s -> Vect k (DSum a b)
- prodf f g = linear fg' where
-     fg' b = fmap Left (f $ return b) <+> fmap Right (g $ return b)
- 
- 
- -- |The direct sum of two vector space elements
--dsume :: (Num k, Ord a, Ord b) => Vect k a -> Vect k b -> Vect k (DSum a b)
-+dsume :: (Eq k, Num k, Ord a, Ord b) => Vect k a -> Vect k b -> Vect k (DSum a b)
- -- dsume x y = fmap Left x <+> fmap Right y
- dsume x y = i1 x <+> i2 y
- 
- -- |The direct sum of two linear functions.
- -- Satisfies the universal property that f == p1 . dsumf f g . i1 and g == p2 . dsumf f g . i2
--dsumf :: (Num k, Ord a, Ord b, Ord a', Ord b') => 
-+dsumf :: (Eq k, Num k, Ord a, Ord b, Ord a', Ord b') => 
-     (Vect k a -> Vect k a') -> (Vect k b -> Vect k b') -> Vect k (DSum a b) -> Vect k (DSum a' b')
- dsumf f g ab = (i1 . f . p1) ab <+> (i2 . g . p2) ab
- 
-@@ -80,7 +80,7 @@
- 
- -- Implicit assumption - f and g are linear
- -- |The tensor product of two linear functions
--tf :: (Num k, Ord a', Ord b') => (Vect k a -> Vect k a') -> (Vect k b -> Vect k b')
-+tf :: (Eq k, Num k, Ord a', Ord b') => (Vect k a -> Vect k a') -> (Vect k b -> Vect k b')
-    -> Vect k (Tensor a b) -> Vect k (Tensor a' b')
- tf f g (V ts) = sum [x *> te (f $ return a) (g $ return b) | ((a,b), x) <- ts]
-     where sum = foldl add zero -- (V [])
-@@ -107,16 +107,16 @@
- unitOutR :: Vect k (Tensor a ()) -> Vect k a
- unitOutR = fmap ( \(a,()) -> a )
- 
--twist :: (Num k, Ord a, Ord b) => Vect k (Tensor a b) -> Vect k (Tensor b a)
-+twist :: (Eq k, Num k, Ord a, Ord b) => Vect k (Tensor a b) -> Vect k (Tensor b a)
- twist v = nf $ fmap ( \(a,b) -> (b,a) ) v
- -- note the nf call, as f is not order-preserving
- 
- 
--distrL :: (Num k, Ord a, Ord b, Ord c)
-+distrL :: (Eq k, Num k, Ord a, Ord b, Ord c)
-     => Vect k (Tensor a (DSum b c)) -> Vect k (DSum (Tensor a b) (Tensor a c))
- distrL v = nf $ fmap (\(a,bc) -> case bc of Left b -> Left (a,b); Right c -> Right (a,c)) v
- 
--undistrL :: (Num k, Ord a, Ord b, Ord c)
-+undistrL :: (Eq k, Num k, Ord a, Ord b, Ord c)
-     => Vect k (DSum (Tensor a b) (Tensor a c)) -> Vect k (Tensor a (DSum b c))
- undistrL v = nf $ fmap ( \abc -> case abc of Left (a,b) -> (a,Left b); Right (a,c) -> (a,Right c) ) v
- 
-@@ -132,11 +132,11 @@
- -- Left (e1,e2)
- 
- 
--ev :: (Num k, Ord b) => Vect k (Tensor (Dual b) b) -> k
-+ev :: (Eq k, Num k, Ord b) => Vect k (Tensor (Dual b) b) -> k
- ev = unwrap . linear (\(Dual bi, bj) -> delta bi bj *> return ())
- -- slightly cheating, as delta i j is meant to compare indices, not the basis elements themselves
- 
- delta i j = if i == j then 1 else 0
- 
--reify :: (Num k, Ord b) => Vect k (Dual b) -> (Vect k b -> k)
-+reify :: (Eq k, Num k, Ord b) => Vect k (Dual b) -> (Vect k b -> k)
- reify f x = ev (f `te` x)
-Index: haskell-maths-0.4.1/Math/Algebras/Structures.hs
-===================================================================
---- haskell-maths-0.4.1.orig/Math/Algebras/Structures.hs	2011-11-10 22:38:12.000000000 +0100
-+++ haskell-maths-0.4.1/Math/Algebras/Structures.hs	2012-02-04 12:26:59.000000000 +0100
-@@ -43,7 +43,7 @@
-     antipode :: Vect k b -> Vect k b
- 
- 
--instance (Num k, Eq b, Ord b, Show b, Algebra k b) => Num (Vect k b) where
-+instance (Eq k, Num k, Eq b, Ord b, Show b, Algebra k b) => Num (Vect k b) where
-     x+y = x <+> y
-     negate x = neg x
-     -- negate (V ts) = V $ map (\(b,x) -> (b, negate x)) ts
-@@ -66,7 +66,7 @@
- -}
- 
- 
--instance Num k => Algebra k () where
-+instance (Eq k, Num k) => Algebra k () where
-     unit = wrap
-     -- unit 0 = zero -- V []
-     -- unit x = V [( (),x)]
-@@ -74,7 +74,7 @@
-     -- mult (V [( ((),()), x)]) = V [( (),x)]
-     -- mult (V []) = zerov
- 
--instance Num k => Coalgebra k () where
-+instance (Eq k, Num k) => Coalgebra k () where
-     counit = unwrap
-     -- counit (V []) = 0
-     -- counit (V [( (),x)]) = x
-@@ -82,10 +82,10 @@
-     -- comult (V [( (),x)]) = V [( ((),()), x)]
-     -- comult (V []) = zerov
- 
--unit' :: (Num k, Algebra k b) => Trivial k -> Vect k b
-+unit' :: (Eq k, Num k, Algebra k b) => Trivial k -> Vect k b
- unit' = unit . unwrap -- where unwrap = counit :: Num k => Trivial k -> k
- 
--counit' :: (Num k, Coalgebra k b) => Vect k b -> Trivial k
-+counit' :: (Eq k, Num k, Coalgebra k b) => Vect k b -> Trivial k
- counit' = wrap . counit -- where wrap = unit :: Num k => k -> Trivial k
- 
- -- unit' and counit' enable us to form tensors of these functions
-@@ -94,7 +94,7 @@
- -- Kassel p4
- -- |The direct sum of k-algebras can itself be given the structure of a k-algebra.
- -- This is the product object in the category of k-algebras.
--instance (Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (DSum a b) where
-+instance (Eq k, Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (DSum a b) where
-     unit k = i1 (unit k) <+> i2 (unit k)
-     -- unit == (i1 . unit) <<+>> (i2 . unit)
-     mult = linear mult'
-@@ -108,7 +108,7 @@
- 
- -- |The direct sum of k-coalgebras can itself be given the structure of a k-coalgebra.
- -- This is the coproduct object in the category of k-coalgebras.
--instance (Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (DSum a b) where
-+instance (Eq k, Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (DSum a b) where
-     counit = unwrap . linear counit'
-         where counit' (Left a) = (wrap . counit) (return a)
-               counit' (Right b) = (wrap . counit) (return b)
-@@ -123,7 +123,7 @@
- 
- -- Kassel p32
- -- |The tensor product of k-algebras can itself be given the structure of a k-algebra
--instance (Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (Tensor a b) where
-+instance (Eq k, Num k, Ord a, Ord b, Algebra k a, Algebra k b) => Algebra k (Tensor a b) where
-     -- unit 0 = V []
-     unit x = x *> (unit 1 `te` unit 1)
-     mult = linear m where
-@@ -131,7 +131,7 @@
- 
- -- Kassel p42
- -- |The tensor product of k-coalgebras can itself be given the structure of a k-coalgebra
--instance (Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (Tensor a b) where
-+instance (Eq k, Num k, Ord a, Ord b, Coalgebra k a, Coalgebra k b) => Coalgebra k (Tensor a b) where
-     counit = counit . (counit' `tf` counit')
-     -- counit = counit . linear (\(T x y) -> counit' (return x) * counit' (return y))
-     comult = assocL . (id `tf` assocR) . (id `tf` (twist `tf` id))
-@@ -139,20 +139,20 @@
- 
- 
- -- The set coalgebra - can be defined on any set
--instance Num k => Coalgebra k EBasis where
-+instance (Eq k, Num k) => Coalgebra k EBasis where
-     counit (V ts) = sum [x | (ei,x) <- ts]  -- trace
-     comult = fmap ( \ei -> (ei,ei) )        -- diagonal
- 
- newtype SetCoalgebra b = SC b deriving (Eq,Ord,Show)
- 
--instance Num k => Coalgebra k (SetCoalgebra b) where
-+instance (Eq k, Num k) => Coalgebra k (SetCoalgebra b) where
-     counit (V ts) = sum [x | (m,x) <- ts]  -- trace
-     comult = fmap ( \m -> (m,m) )          -- diagonal
- 
- 
- newtype MonoidCoalgebra m = MC m deriving (Eq,Ord,Show)
- 
--instance (Num k, Ord m, Mon m) => Coalgebra k (MonoidCoalgebra m) where
-+instance (Eq k, Num k, Ord m, Mon m) => Coalgebra k (MonoidCoalgebra m) where
-     counit (V ts) = sum [if m == MC munit then x else 0 | (m,x) <- ts]
-     comult = linear cm
-         where cm m = if m == MC munit then return (m,m) else return (m, MC munit) <+> return (MC munit, m)
-@@ -184,13 +184,13 @@
- 
- -- Kassel p57-8
- 
--instance (Num k, Ord a, Ord u, Ord v, Algebra k a, Module k a u, Module k a v)
-+instance (Eq k, Num k, Ord a, Ord u, Ord v, Algebra k a, Module k a u, Module k a v)
-          => Module k (Tensor a a) (Tensor u v) where
-     -- action x = nf $ x >>= action'
-     action = linear action'
-         where action' ((a,a'), (u,v)) = (action $ return (a,u)) `te` (action $ return (a',v))
- 
--instance (Num k, Ord a, Ord u, Ord v, Bialgebra k a, Module k a u, Module k a v)
-+instance (Eq k, Num k, Ord a, Ord u, Ord v, Bialgebra k a, Module k a u, Module k a v)
-          => Module k a (Tensor u v) where
-     -- action x = nf $ x >>= action'
-     action = linear action'
-@@ -200,7 +200,7 @@
- -- On the other hand, if a == Tensor u v, then we have overlapping instance with the earlier instance
- 
- -- Kassel p63
--instance (Num k, Ord a, Ord m, Ord n, Bialgebra k a, Comodule k a m, Comodule k a n)
-+instance (Eq k, Num k, Ord a, Ord m, Ord n, Bialgebra k a, Comodule k a m, Comodule k a n)
-          => Comodule k a (Tensor m n) where
-     coaction = (mult `tf` id) . twistm . (coaction `tf` coaction)
-         where twistm x = nf $ fmap ( \((h,m), (h',n)) -> ((h,h'), (m,n)) ) x
-Index: haskell-maths-0.4.1/Math/Algebra/Field/Extension.hs
-===================================================================
---- haskell-maths-0.4.1.orig/Math/Algebra/Field/Extension.hs	2011-11-10 22:38:12.000000000 +0100
-+++ haskell-maths-0.4.1/Math/Algebra/Field/Extension.hs	2012-02-04 12:30:24.000000000 +0100
-@@ -18,7 +18,7 @@
- 
- x = UP [0,1] :: UPoly Integer
- 
--instance (Show a, Num a) => Show (UPoly a) where
-+instance (Show a, Eq a, Num a) => Show (UPoly a) where
-     -- show (UP []) = "0"
-     show (UP as) = showUP "x" as
- 
-@@ -39,7 +39,7 @@
-                         | i == 1 = v -- "x"
-                         | i > 1  = v ++ "^" ++ show i -- "x^" ++ show i
- 
--instance Num a => Num (UPoly a) where
-+instance (Eq a, Num a) => Num (UPoly a) where
-     UP as + UP bs = toUPoly $ as <+> bs
-     negate (UP as) = UP $ map negate as
-     UP as * UP bs = toUPoly $ as <*> bs
-@@ -78,7 +78,7 @@
- monomial a i = UP $ replicate i 0 ++ [a]
- 
- -- quotRem for UPolys over a field
--quotRemUP :: (Num k, Fractional k) => UPoly k -> UPoly k -> (UPoly k, UPoly k)
-+quotRemUP :: (Eq k, Num k, Fractional k) => UPoly k -> UPoly k -> (UPoly k, UPoly k)
- quotRemUP f g = qr 0 f where
-     qr q r = if deg r < deg_g
-              then (q,r)
-@@ -105,12 +105,12 @@
- 
- data ExtensionField k poly = Ext (UPoly k) deriving (Eq,Ord)
- 
--instance Num k => Show (ExtensionField k poly) where
-+instance (Show k, Eq k, Num k) => Show (ExtensionField k poly) where
-     -- show (Ext f) = show f
-     -- show (Ext (UP [])) = "0"
-     show (Ext (UP as)) = showUP "a" as
- 
--instance (Num k, Fractional k, PolynomialAsType k poly) => Num (ExtensionField k poly) where
-+instance (Eq k, Num k, Fractional k, PolynomialAsType k poly) => Num (ExtensionField k poly) where
-     Ext x + Ext y = Ext $ (x+y) -- `modUP` pvalue (undefined :: (k,poly))
-     Ext x * Ext y = Ext $ (x*y) `modUP` pvalue (undefined :: (k,poly))
-     negate (Ext x) = Ext $ negate x
-@@ -118,7 +118,7 @@
-     abs _ = error "Prelude.Num.abs: inappropriate abstraction"
-     signum _ = error "Prelude.Num.signum: inappropriate abstraction"
- 
--instance (Num k, Fractional k, PolynomialAsType k poly) => Fractional (ExtensionField k poly) where
-+instance (Eq k, Num k, Fractional k, PolynomialAsType k poly) => Fractional (ExtensionField k poly) where
-     recip 0 = error "ExtensionField.recip 0"
-     recip (Ext f) = let g = pvalue (undefined :: (k,poly))
-                         (u,v,d@(UP [c])) = extendedEuclidUP f g
-@@ -130,7 +130,7 @@
- c /> f@(UP as) | c == 1 = f
-                | c /= 0 = UP (map (c' *) as) where c' = recip c
- 
--instance (FiniteField k, PolynomialAsType k poly) => FiniteField (ExtensionField k poly) where
-+instance (Eq k, FiniteField k, PolynomialAsType k poly) => FiniteField (ExtensionField k poly) where
-     eltsFq _ = map Ext (polys (d-1) fp) where
-         fp = eltsFq (undefined :: k)
-         d = deg $ pvalue (undefined :: (k,poly))
-@@ -243,4 +243,4 @@
- -- conjugate of a + b sqrt d is a - b sqrt d
- conjugate :: ExtensionField Q (Sqrt d) -> ExtensionField Q (Sqrt d)
- conjugate (Ext (UP [a,b])) = Ext (UP [a,-b])
--conjugate x = x -- the zero or constant cases
-\ No newline at end of file
-+conjugate x = x -- the zero or constant cases
-Index: haskell-maths-0.4.1/Math/Algebra/NonCommutative/NCPoly.hs
-===================================================================
---- haskell-maths-0.4.1.orig/Math/Algebra/NonCommutative/NCPoly.hs	2011-11-10 22:38:12.000000000 +0100
-+++ haskell-maths-0.4.1/Math/Algebra/NonCommutative/NCPoly.hs	2012-02-04 12:32:06.000000000 +0100
-@@ -58,7 +58,7 @@
-                                  then "+(" ++ c:cs ++ ")"
-                                  else if c == '-' then c:cs else '+':c:cs
- 
--instance (Ord v, Show v, Num r) => Num (NPoly r v) where
-+instance (Ord v, Show v, Eq r, Num r) => Num (NPoly r v) where
-     NP ts + NP us = NP (mergeTerms ts us)
-     negate (NP ts) = NP $ map (\(m,c) -> (m,-c)) ts
-     NP ts * NP us = NP $ collect $ L.sortBy cmpTerm $ [(g*h,c*d) | (g,c) <- ts, (h,d) <- us]
-@@ -85,7 +85,7 @@
- 
- -- Fractional instance so that we can enter fractional coefficients
- -- Only lets us divide by field elements (with unit monomial), not any other polynomials
--instance (Ord v, Show v, Fractional r) => Fractional (NPoly r v) where
-+instance (Ord v, Show v, Eq r, Fractional r) => Fractional (NPoly r v) where
-     recip (NP [(1,c)]) = NP [(1, recip c)]
-     recip _ = error "NPoly.recip: only supported for (non-zero) constants"
- 
-@@ -210,4 +210,4 @@
- class Invertible a where
-     inv :: a -> a
- 
--x ^- k = inv x ^ k
-\ No newline at end of file
-+x ^- k = inv x ^ k
-Index: haskell-maths-0.4.1/Math/Algebras/Commutative.hs
-===================================================================[...incomplete...]



More information about the Pkg-haskell-commits mailing list