Hello community,
here is the log from the commit of package ghc-constraints for
openSUSE:Leap:15.2 checked in at 2020-03-13 10:56:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/ghc-constraints (Old)
and /work/SRC/openSUSE:Leap:15.2/.ghc-constraints.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-constraints"
Fri Mar 13 10:56:45 2020 rev:12 rq:782959 version:0.12
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/ghc-constraints/ghc-constraints.changes
2020-02-19 18:38:38.841972748 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.ghc-constraints.new.3160/ghc-constraints.changes
2020-03-13 10:56:46.668409123 +0100
@@ -1,0 +2,29 @@
+Fri Feb 7 08:04:07 UTC 2020 - [email protected]
+
+- Update constraints to version 0.12.
+ 0.12 [2020.02.03]
+ -----------------
+ * Relax the type signature for `divideTimes`:
+
+ ```diff
+ -dividesTimes :: (Divides a b, Divides a c) :- Divides a (b * c)
+ +dividesTimes :: Divides a b :- Divides a (b * c)
+ ```
+
+ * Simplify the type signature of `dividesDef`:
+
+ ```diff
+ -dividesDef :: forall a b. Divides a b :- ((a * Div b a) ~ b)
+ +dividesDef :: forall a b. Divides a b :- (Mod b a ~ 0)
+ ```
+
+ The original type of `diviesDef` can be (partially) recovered by defining
+ it in terms of the new `dividesDef`:
+
+ ```hs
+ dividesDef' :: forall a b. (1 <= a, Divides a b) :- ((a * Div b a) ~ b)
+ dividesDef' = Sub $ case (dividesDef @a @b, euclideanNat @a @b) of
+ (Sub Dict, Sub Dict) -> Dict
+ ```
+
+-------------------------------------------------------------------
Old:
----
constraints-0.11.2.tar.gz
New:
----
constraints-0.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-constraints.spec ++++++
--- /var/tmp/diff_new_pack.N1zhJL/_old 2020-03-13 10:56:47.112409440 +0100
+++ /var/tmp/diff_new_pack.N1zhJL/_new 2020-03-13 10:56:47.116409443 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ghc-constraints
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%global pkg_name constraints
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.11.2
+Version: 0.12
Release: 0
Summary: Constraint manipulation
License: BSD-2-Clause
++++++ constraints-0.11.2.tar.gz -> constraints-0.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/constraints-0.11.2/CHANGELOG.markdown
new/constraints-0.12/CHANGELOG.markdown
--- old/constraints-0.11.2/CHANGELOG.markdown 2001-09-09 03:46:40.000000000
+0200
+++ new/constraints-0.12/CHANGELOG.markdown 2001-09-09 03:46:40.000000000
+0200
@@ -1,3 +1,28 @@
+0.12 [2020.02.03]
+-----------------
+* Relax the type signature for `divideTimes`:
+
+ ```diff
+ -dividesTimes :: (Divides a b, Divides a c) :- Divides a (b * c)
+ +dividesTimes :: Divides a b :- Divides a (b * c)
+ ```
+
+* Simplify the type signature of `dividesDef`:
+
+ ```diff
+ -dividesDef :: forall a b. Divides a b :- ((a * Div b a) ~ b)
+ +dividesDef :: forall a b. Divides a b :- (Mod b a ~ 0)
+ ```
+
+ The original type of `diviesDef` can be (partially) recovered by defining
+ it in terms of the new `dividesDef`:
+
+ ```hs
+ dividesDef' :: forall a b. (1 <= a, Divides a b) :- ((a * Div b a) ~ b)
+ dividesDef' = Sub $ case (dividesDef @a @b, euclideanNat @a @b) of
+ (Sub Dict, Sub Dict) -> Dict
+ ```
+
0.11.2 [2019.09.06]
-------------------
* Depend on the `type-equality` compatibility library so that `(:~~:)` may be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/constraints-0.11.2/constraints.cabal
new/constraints-0.12/constraints.cabal
--- old/constraints-0.11.2/constraints.cabal 2001-09-09 03:46:40.000000000
+0200
+++ new/constraints-0.12/constraints.cabal 2001-09-09 03:46:40.000000000
+0200
@@ -1,6 +1,6 @@
name: constraints
category: Constraints
-version: 0.11.2
+version: 0.12
license: BSD2
cabal-version: >= 1.10
license-file: LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/constraints-0.11.2/src/Data/Constraint/Nat.hs
new/constraints-0.12/src/Data/Constraint/Nat.hs
--- old/constraints-0.11.2/src/Data/Constraint/Nat.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/constraints-0.12/src/Data/Constraint/Nat.hs 2001-09-09
03:46:40.000000000 +0200
@@ -323,7 +323,7 @@
dividesPlus :: (Divides a b, Divides a c) :- Divides a (b + c)
dividesPlus = Sub axiom
-dividesTimes :: (Divides a b, Divides a c) :- Divides a (b * c)
+dividesTimes :: Divides a b :- Divides a (b * c)
dividesTimes = Sub axiom
dividesMin :: (Divides a b, Divides a c) :- Divides a (Min b c)
@@ -332,7 +332,10 @@
dividesMax :: (Divides a b, Divides a c) :- Divides a (Max b c)
dividesMax = Sub axiom
-dividesDef :: forall a b. Divides a b :- ((a * Div b a) ~ b)
+-- This `dividesDef` is simpler and more convenient than Divides a b :- ((a *
Div b a) ~ b)
+-- because the latter can be easily derived via 'euclideanNat', but not vice
versa.
+
+dividesDef :: forall a b. Divides a b :- (Mod b a ~ 0)
dividesDef = Sub axiom
dividesPow :: (1 <= n, Divides a b) :- Divides a (b^n)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/constraints-0.11.2/src/Data/Constraint.hs
new/constraints-0.12/src/Data/Constraint.hs
--- old/constraints-0.11.2/src/Data/Constraint.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/constraints-0.12/src/Data/Constraint.hs 2001-09-09 03:46:40.000000000
+0200
@@ -208,6 +208,7 @@
infixr 9 :-
infixr 9 ⊢
+-- | Type entailment, as written with a single character.
type (⊢) = (:-)
-- | This is the type of entailment.