Hello community,

here is the log from the commit of package ghc-constraints for openSUSE:Factory 
checked in at 2016-01-28 17:23:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-constraints (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-constraints.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-constraints"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-constraints/ghc-constraints.changes  
2016-01-08 15:23:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-constraints.new/ghc-constraints.changes     
2016-01-28 17:24:35.000000000 +0100
@@ -1,0 +2,10 @@
+Wed Jan 20 09:03:54 UTC 2016 - [email protected]
+
+- update to 0.8
+* Remove the need for closed type families from the new Forall.
+* Found a nicer encoding of the initial object in the category of constraints 
+    using a nullary constraint.
+* binary 0.8 compatibility
+* transformers 0.5 compatibility
+
+-------------------------------------------------------------------

Old:
----
  constraints-0.6.tar.gz

New:
----
  constraints-0.8.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-constraints.spec ++++++
--- /var/tmp/diff_new_pack.DVAEXM/_old  2016-01-28 17:24:36.000000000 +0100
+++ /var/tmp/diff_new_pack.DVAEXM/_new  2016-01-28 17:24:36.000000000 +0100
@@ -19,7 +19,7 @@
 %global pkg_name constraints
 
 Name:           ghc-constraints
-Version:        0.6
+Version:        0.8
 Release:        0
 Summary:        Constraint manipulation
 License:        BSD-2-Clause

++++++ constraints-0.6.tar.gz -> constraints-0.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/constraints-0.6/constraints.cabal 
new/constraints-0.8/constraints.cabal
--- old/constraints-0.6/constraints.cabal       2015-11-10 14:16:35.000000000 
+0100
+++ new/constraints-0.8/constraints.cabal       2016-01-17 03:10:38.000000000 
+0100
@@ -1,6 +1,6 @@
 name:          constraints
 category:      Constraints
-version:       0.6
+version:       0.8
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -17,7 +17,7 @@
   This package provides a vocabulary for working with them.
 
 build-type:    Simple
-tested-with:   GHC == 7.8.3, GHC == 7.7.20131027, GHC == 7.7.20131025
+tested-with:   GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.1, GHC == 7.10.2
 extra-source-files: README.markdown
 
 source-repository head
@@ -41,26 +41,24 @@
     GADTs
 
   build-depends:
-    base >= 4.6 && < 5,
-    binary >= 0.7.3 && < 0.8,
+    base >= 4.7 && < 5,
+    binary >= 0.7.3 && < 0.9,
     deepseq >= 1.3 && < 1.5,
     ghc-prim,
     hashable >= 1.2 && < 1.3,
     mtl >= 2 && < 2.3,
-    transformers >= 0.2 && < 0.5,
+    transformers >= 0.2 && < 0.6,
     transformers-compat >= 0.4 && < 1
 
   if impl(ghc < 7.8)
     build-depends:
       newtype >= 0.2 && < 0.3,
       tagged >= 0.2 && < 1
-  else
-    exposed-modules:
-      Data.Constraint.Forall
 
   exposed-modules:
     Data.Constraint
     Data.Constraint.Deferrable
+    Data.Constraint.Forall
     Data.Constraint.Lifting
     Data.Constraint.Unsafe
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/constraints-0.6/src/Data/Constraint/Forall.hs 
new/constraints-0.8/src/Data/Constraint/Forall.hs
--- old/constraints-0.6/src/Data/Constraint/Forall.hs   2015-11-10 
14:16:35.000000000 +0100
+++ new/constraints-0.8/src/Data/Constraint/Forall.hs   2016-01-17 
03:10:38.000000000 +0100
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE ScopedTypeVariables #-}
@@ -7,11 +8,14 @@
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE Trustworthy #-}
 {-# LANGUAGE PolyKinds #-}
+#if __GLASGOW_HASKELL__ >= 800
+{-# LANGUAGE UndecidableSuperClasses #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Constraint.Forall
 -- Copyright   :  (C) 2011-2015 Edward Kmett,
---                (C) 2015 Ørjan Johansen,
+--                (C) 2015 Ørjan Johansen
 -- License     :  BSD-style (see the file LICENSE)
 --
 -- Maintainer  :  Edward Kmett <[email protected]>
@@ -95,22 +99,22 @@
 -- which would be disastrous.
 
 -- | A representation of the quantified constraint @forall a. p a@.
-type family Forall (p :: k -> Constraint) :: Constraint where
-    Forall p = Forall_ p
+type family Forall (p :: k -> Constraint) :: Constraint
+type instance Forall p = Forall_ p
 class p (Skolem p) => Forall_ (p :: k -> Constraint)
 instance p (Skolem p) => Forall_ (p :: k -> Constraint)
 
 -- | A representation of the quantified constraint @forall a. p (f a)@.
-type family ForallF (p :: k2 -> Constraint) (f :: k1 -> k2) :: Constraint where
-    ForallF p f = ForallF_ p f
+type family ForallF (p :: k2 -> Constraint) (f :: k1 -> k2) :: Constraint
+type instance ForallF p f = ForallF_ p f
 class p (f (SkolemF p f)) => ForallF_ (p :: k2 -> Constraint) (f :: k1 -> k2)
 instance p (f (SkolemF p f)) => ForallF_ (p :: k2 -> Constraint) (f :: k1 -> 
k2)
 
 type Forall1 p = Forall p
 
 -- | A representation of the quantified constraint @forall f a. p (t f a)@.
-type family ForallT (p :: k3 -> Constraint) (t :: k1 -> k2 -> k3) :: 
Constraint where
-    ForallT p t = ForallT_ p t
+type family ForallT (p :: k3 -> Constraint) (t :: k1 -> k2 -> k3) :: Constraint
+type instance ForallT p t = ForallT_ p t
 class p (t (SkolemT1 p t) (SkolemT2 p t)) => ForallT_ (p :: k3 -> Constraint) 
(t :: k1 -> k2 -> k3)
 instance p (t (SkolemT1 p t) (SkolemT2 p t)) => ForallT_ (p :: k3 -> 
Constraint) (t :: k1 -> k2 -> k3)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/constraints-0.6/src/Data/Constraint/Lifting.hs 
new/constraints-0.8/src/Data/Constraint/Lifting.hs
--- old/constraints-0.6/src/Data/Constraint/Lifting.hs  2015-11-10 
14:16:35.000000000 +0100
+++ new/constraints-0.8/src/Data/Constraint/Lifting.hs  2016-01-17 
03:10:38.000000000 +0100
@@ -112,6 +112,17 @@
 instance Traversable f => Lifting Traversable (Compose f) where lifting = Sub 
Dict
 instance Applicative f => Lifting Applicative (Compose f) where lifting = Sub 
Dict
 instance Alternative f => Lifting Alternative (Compose f) where lifting = Sub 
Dict -- overconstrained
+
+#if MIN_VERSION_transformers(0,5,0)
+instance Show1 f => Lifting Show1 (Compose f) where lifting = Sub Dict
+instance Eq1 f => Lifting Eq1 (Compose f) where lifting = Sub Dict
+instance Ord1 f => Lifting Ord1 (Compose f) where lifting = Sub Dict
+instance Read1 f => Lifting Read1 (Compose f) where lifting = Sub Dict
+instance (Eq1 f, Eq1 g) => Lifting Eq (Compose f g) where lifting = Sub Dict
+instance (Ord1 f, Ord1 g) => Lifting Ord (Compose f g) where lifting = Sub Dict
+instance (Read1 f, Read1 g) => Lifting Read (Compose f g) where lifting = Sub 
Dict
+instance (Show1 f, Show1 g) => Lifting Show (Compose f g) where lifting = Sub 
Dict
+#else
 instance (Functor f, Show1 f) => Lifting Show1 (Compose f) where lifting = Sub 
Dict
 instance (Functor f, Eq1 f) => Lifting Eq1 (Compose f) where lifting = Sub Dict
 instance (Functor f, Ord1 f) => Lifting Ord1 (Compose f) where lifting = Sub 
Dict
@@ -120,6 +131,7 @@
 instance (Functor f, Ord1 f, Ord1 g) => Lifting Ord (Compose f g) where 
lifting = Sub Dict
 instance (Functor f, Read1 f, Read1 g) => Lifting Read (Compose f g) where 
lifting = Sub Dict
 instance (Functor f, Show1 f, Show1 g) => Lifting Show (Compose f g) where 
lifting = Sub Dict
+#endif
 
 instance Functor f => Lifting Functor (Functor.Product f) where lifting = Sub 
Dict
 instance Foldable f => Lifting Foldable (Functor.Product f) where lifting = 
Sub Dict
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/constraints-0.6/src/Data/Constraint/Unsafe.hs 
new/constraints-0.8/src/Data/Constraint/Unsafe.hs
--- old/constraints-0.6/src/Data/Constraint/Unsafe.hs   2015-11-10 
14:16:35.000000000 +0100
+++ new/constraints-0.8/src/Data/Constraint/Unsafe.hs   2016-01-17 
03:10:38.000000000 +0100
@@ -6,6 +6,9 @@
 {-# LANGUAGE Rank2Types #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE Unsafe #-}
+#if __GLASGOW_HASKELL__ >= 800
+{-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Constraint.Unsafe
@@ -56,10 +59,19 @@
 unsafeUnderive :: Coercible n o => (o -> n) -> t n :- t o
 unsafeUnderive _ = unsafeCoerceConstraint
 
+
 -- | Construct an Applicative instance from a Monad
 unsafeApplicative :: forall m a. Monad m => (Applicative m => m a) -> m a
+#if __GLASGOW_HASKELL__ < 710
 unsafeApplicative m = m \\ trans (unsafeCoerceConstraint :: Applicative 
(WrappedMonad m) :- Applicative m) ins
+#else
+unsafeApplicative m = m
+#endif
 
 -- | Construct an Alternative instance from a MonadPlus
 unsafeAlternative :: forall m a. MonadPlus m => (Alternative m => m a) -> m a
+#if __GLASGOW_HASKELL__ < 710
 unsafeAlternative m = m \\ trans (unsafeCoerceConstraint :: Alternative 
(WrappedMonad m) :- Alternative m) ins
+#else
+unsafeAlternative m = m
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/constraints-0.6/src/Data/Constraint.hs 
new/constraints-0.8/src/Data/Constraint.hs
--- old/constraints-0.6/src/Data/Constraint.hs  2015-11-10 14:16:35.000000000 
+0100
+++ new/constraints-0.8/src/Data/Constraint.hs  2016-01-17 03:10:38.000000000 
+0100
@@ -18,6 +18,12 @@
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE RoleAnnotations #-}
 #endif
+#if __GLASGOW_HASKELL__ >= 800
+{-# LANGUAGE UndecidableSuperClasses #-}
+#endif
+#if __GLASGOW_HASKELL__ >= 708 && __GLASGOW_HASKELL__ < 710
+{-# LANGUAGE NullaryTypeClasses #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Constraint
@@ -58,6 +64,7 @@
   , weaken1, weaken2, contract
   , (&&&), (***)
   , trans, refl
+  , Bottom
   , top, bottom
   -- * Dict is fully faithful
   , mapDict
@@ -79,7 +86,12 @@
 #if __GLASGOW_HASKELL__ >= 707
 import Data.Data
 #endif
+#if __GLASGOW_HASKELL__ <= 710
 import GHC.Prim (Constraint)
+#else
+import GHC.Types (Constraint)
+#endif
+import qualified GHC.Prim as Prim
 
 -- | Values of type @'Dict' p@ capture a dictionary for a constraint of type 
@p@.
 --
@@ -292,21 +304,14 @@
 top :: a :- ()
 top = Sub Dict
 
-type family Ex (a :: *) (c :: Constraint) :: Constraint
-type instance Ex () c = ()
-type instance Ex Bool c = c
-
-falso :: (() ~ a) :- Ex a c
-falso = Sub Dict
+-- | 'Any' inhabits every kind, including 'Constraint' but is uninhabited, 
making it impossible to define an instance.
+class Prim.Any => Bottom where
+  no :: Dict a
 
 -- |
--- A bad type coercion lets you derive any constraint you want.
---
--- These are the initial arrows of the category and @(() ~ Bool)@ is the 
initial object
---
 -- This demonstrates the law of classical logic 
<http://en.wikipedia.org/wiki/Principle_of_explosion "ex falso quodlibet">
-bottom :: (() ~ Bool) :- c
-bottom = falso
+bottom :: Bottom :- a
+bottom = Sub no
 
 
--------------------------------------------------------------------------------
 -- Dict is fully faithful
@@ -375,7 +380,7 @@
 instance Class () (b :=> a) where cls = Sub Dict
 
 instance Class b a => () :=> Class b a where ins = Sub Dict
-instance (b :=> a) => () :=> b :=> a where ins = Sub Dict
+instance (b :=> a) => () :=> (b :=> a) where ins = Sub Dict
 
 instance Class () () where cls = Sub Dict
 instance () :=> () where ins = Sub Dict


Reply via email to