Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-singleton-bool for openSUSE:Factory checked in at 2021-04-10 15:27:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-singleton-bool (Old) and /work/SRC/openSUSE:Factory/.ghc-singleton-bool.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-singleton-bool" Sat Apr 10 15:27:22 2021 rev:4 rq:883526 version:0.1.6 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-singleton-bool/ghc-singleton-bool.changes 2021-03-10 08:57:37.890912283 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-singleton-bool.new.2401/ghc-singleton-bool.changes 2021-04-10 15:28:26.350453402 +0200 @@ -1,0 +2,10 @@ +Mon Apr 5 14:14:56 UTC 2021 - psim...@suse.com + +- Update singleton-bool to version 0.1.6. + - 0.1.6 + - Add `boring` instances + - Add `some` (`GEq` etc) instances + - Add `deepseq` instances + - Require GHC-7.8+ + +------------------------------------------------------------------- Old: ---- singleton-bool-0.1.5.tar.gz singleton-bool.cabal New: ---- singleton-bool-0.1.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-singleton-bool.spec ++++++ --- /var/tmp/diff_new_pack.q1zmSV/_old 2021-04-10 15:28:26.810453944 +0200 +++ /var/tmp/diff_new_pack.q1zmSV/_new 2021-04-10 15:28:26.810453944 +0200 @@ -18,16 +18,18 @@ %global pkg_name singleton-bool Name: ghc-%{pkg_name} -Version: 0.1.5 +Version: 0.1.6 Release: 0 Summary: Type level booleans License: BSD-3-Clause URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-boring-devel BuildRequires: ghc-dec-devel +BuildRequires: ghc-deepseq-devel BuildRequires: ghc-rpm-macros +BuildRequires: ghc-some-devel ExcludeArch: %{ix86} %description @@ -48,7 +50,6 @@ %prep %autosetup -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build @@ -66,6 +67,6 @@ %license LICENSE %files devel -f %{name}-devel.files -%doc CHANGELOG.md README.md +%doc CHANGELOG.md %changelog ++++++ singleton-bool-0.1.5.tar.gz -> singleton-bool-0.1.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/singleton-bool-0.1.5/CHANGELOG.md new/singleton-bool-0.1.6/CHANGELOG.md --- old/singleton-bool-0.1.5/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 +++ new/singleton-bool-0.1.6/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,9 @@ +- 0.1.6 + - Add `boring` instances + - Add `some` (`GEq` etc) instances + - Add `deepseq` instances + - Require GHC-7.8+ + - 0.1.5 - Add `discreteBool :: Dec (a :~: b)` (GHC-7.8+) - Add `Show`, `Eq`, `Ord` `SBool b` instances. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/singleton-bool-0.1.5/README.md new/singleton-bool-0.1.6/README.md --- old/singleton-bool-0.1.5/README.md 2001-09-09 03:46:40.000000000 +0200 +++ new/singleton-bool-0.1.6/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -# singleton-bool - -[](https://travis-ci.org/phadej/singleton-bool) -[](http://hackage.haskell.org/package/singleton-bool) -[](http://stackage.org/nightly/package/singleton-bool) - -Type level booleans diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/singleton-bool-0.1.5/singleton-bool.cabal new/singleton-bool-0.1.6/singleton-bool.cabal --- old/singleton-bool-0.1.5/singleton-bool.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/singleton-bool-0.1.6/singleton-bool.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: singleton-bool -version: 0.1.5 +version: 0.1.6 synopsis: Type level booleans description: Type level booleans. @@ -16,12 +16,17 @@ license: BSD3 license-file: LICENSE build-type: Simple +extra-source-files: CHANGELOG.md tested-with: - GHC ==8.8.1 || ==8.6.5 || ==8.4.4 || ==8.2.2 || ==8.0.2 || ==7.10.3 || ==7.8.4 || ==7.6.3 - -extra-source-files: - CHANGELOG.md - README.md + GHC ==7.8.4 + || ==7.10.3 + || ==8.0.2 + || ==8.2.2 + || ==8.4.4 + || ==8.6.5 + || ==8.8.4 + || ==8.10.4 + || ==9.0.1 source-repository head type: git @@ -31,14 +36,11 @@ hs-source-dirs: src ghc-options: -Wall build-depends: - base >=4.6 && <4.13 - - if impl(ghc >= 7.8) - build-depends: - dec >=0.0.3 && <0.1 + base >=4.7 && <4.16 + , boring >=0.2 && <0.3 + , dec >=0.0.3 && <0.1 + , deepseq >=1.3 && <1.5 + , some >=1.0.3 && <1.1 exposed-modules: Data.Singletons.Bool default-language: Haskell2010 - - if !impl(ghc >=7.8) - build-depends: tagged >=0.8.5 && <0.9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/singleton-bool-0.1.5/src/Data/Singletons/Bool.hs new/singleton-bool-0.1.6/src/Data/Singletons/Bool.hs --- old/singleton-bool-0.1.5/src/Data/Singletons/Bool.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/singleton-bool-0.1.6/src/Data/Singletons/Bool.hs 2001-09-09 03:46:40.000000000 +0200 @@ -1,7 +1,8 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} +{-# LANGUAGE EmptyCase #-} +{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} -{-# LANGUAGE KindSignatures #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} @@ -9,10 +10,6 @@ #if __GLASGOW_HASKELL__ >= 800 {-# OPTIONS_GHC -Wno-redundant-constraints #-} #endif -#if MIN_VERSION_base(4,7,0) -{-# LANGUAGE EmptyCase #-} -{-# LANGUAGE FlexibleContexts #-} -#endif -- | Additions to "Data.Type.Bool". module Data.Singletons.Bool ( SBool(..), @@ -22,31 +19,36 @@ reflectBool, reifyBool, -- * Data.Type.Dec -#if MIN_VERSION_base(4,7,0) -- | 'discreteBool' is available with @base >= 4.7@ (GHC-7.8) discreteBool, -#endif -- * Data.Type.Bool and .Equality -- | These are only defined with @base >= 4.7@ -#if MIN_VERSION_base(4,7,0) sboolAnd, sboolOr, sboolNot, eqToRefl, eqCast, sboolEqRefl, trivialRefl, -#endif ) where -#if MIN_VERSION_base(4,7,0) -import Data.Type.Bool -import Data.Type.Dec (Dec (..)) -import Data.Type.Equality -import Unsafe.Coerce (unsafeCoerce) -#endif +import Control.DeepSeq (NFData (..)) +import Data.Boring (Boring (..)) +import Data.GADT.Compare (GCompare (..), GEq (..), GOrdering (..)) +import Data.GADT.DeepSeq (GNFData (..)) +import Data.GADT.Show (GRead (..), GShow (..)) +import Data.Proxy (Proxy (..)) +import Data.Type.Bool +import Data.Type.Dec (Dec (..)) +import Data.Type.Equality +import Unsafe.Coerce (unsafeCoerce) -import Data.Proxy (Proxy (..)) +import qualified Data.Some.Church as Church -- $setup -- >>> :set -XDataKinds -XTypeOperators --- >>> import Data.Type.Dec (decShow) +-- >>> import Data.Proxy (Proxy (..)) +-- >>> import Data.Type.Dec +-- >>> import Data.Some +-- >>> import Data.GADT.Compare +-- >>> import Data.GADT.Show +-- >>> import Data.Type.Equality data SBool (b :: Bool) where STrue :: SBool 'True @@ -69,6 +71,11 @@ instance Ord (SBool b) where compare _ _ = EQ +-- | @since 0.1.6 +instance NFData (SBool b) where + rnf STrue = () + rnf SFalse = () + ------------------------------------------------------------------------------- -- conversion to and from explicit SBool values ------------------------------------------------------------------------------- @@ -111,10 +118,80 @@ reflectBool _ = fromSBool (sbool :: SBool b) ------------------------------------------------------------------------------- +-- Boring +------------------------------------------------------------------------------- + +-- | @since 0.1.6 +instance SBoolI b => Boring (SBool b) where + boring = sbool + +------------------------------------------------------------------------------- +-- Data.GADT (some) +------------------------------------------------------------------------------- + +-- | +-- +-- >>> geq STrue STrue +-- Just Refl +-- +-- >>> geq STrue SFalse +-- Nothing +-- +-- @since 0.1.6 +instance GEq SBool where + geq STrue STrue = Just Refl + geq SFalse SFalse = Just Refl + geq _ _ = Nothing + +-- | +-- +-- @since 0.1.6 +instance GCompare SBool where + gcompare SFalse SFalse = GEQ + gcompare SFalse STrue = GLT + gcompare STrue SFalse = GGT + gcompare STrue STrue = GEQ + +-- | @since 0.1.6 +instance GNFData SBool where + grnf STrue = () + grnf SFalse = () + +-- | +-- +-- >>> showsPrec 0 STrue "" +-- "STrue" +-- +-- @since 0.1.6 +instance GShow SBool where + gshowsPrec = showsPrec + +-- | +-- +-- >>> readsPrec 0 "Some STrue" :: [(Some SBool, String)] +-- [(Some STrue,"")] +-- +-- >>> readsPrec 0 "Some SFalse" :: [(Some SBool, String)] +-- [(Some SFalse,"")] +-- +-- >>> readsPrec 0 "Some Else" :: [(Some SBool, String)] +-- [] +-- +-- @since 0.1.6 +instance GRead SBool where + greadsPrec _ s = + [ (Church.mkSome STrue, t) + | ("STrue", t) <- lex s + ] + ++ + [ (Church.mkSome SFalse, t) + | ("SFalse", t) <- lex s + ] + +------------------------------------------------------------------------------- -- Discrete ------------------------------------------------------------------------------- -#if MIN_VERSION_base(4,7,0) -- | Decidable equality. -- -- >>> decShow (discreteBool :: Dec ('True :~: 'True)) @@ -127,13 +204,11 @@ (STrue, SFalse) -> No $ \p -> case p of {} (SFalse, STrue) -> No $ \p -> case p of {} (SFalse, SFalse) -> Yes Refl -#endif ------------------------------------------------------------------------------- -- Witnesses ------------------------------------------------------------------------------- -#if MIN_VERSION_base(4,7,0) -- | >>> sboolAnd STrue SFalse -- SFalse sboolAnd :: SBool a -> SBool b -> SBool (a && b) @@ -179,4 +254,3 @@ sboolEqRefl = case sbool :: SBool (a == b) of STrue -> Just eqToRefl SFalse -> Nothing -#endif