Hello community, here is the log from the commit of package ghc-finite-typelits for openSUSE:Factory checked in at 2017-06-04 01:53:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-finite-typelits (Old) and /work/SRC/openSUSE:Factory/.ghc-finite-typelits.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-finite-typelits" Sun Jun 4 01:53:04 2017 rev:2 rq:494150 version:0.1.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-finite-typelits/ghc-finite-typelits.changes 2017-04-12 18:06:22.213491085 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-finite-typelits.new/ghc-finite-typelits.changes 2017-06-04 01:53:15.975830742 +0200 @@ -1,0 +2,5 @@ +Wed May 3 08:13:46 UTC 2017 - psimons@suse.com + +- Update to version 0.1.2.0 with cabal2obs. + +------------------------------------------------------------------- Old: ---- finite-typelits-0.1.1.0.tar.gz finite-typelits.cabal New: ---- finite-typelits-0.1.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-finite-typelits.spec ++++++ --- /var/tmp/diff_new_pack.38M6Bk/_old 2017-06-04 01:53:16.839708691 +0200 +++ /var/tmp/diff_new_pack.38M6Bk/_new 2017-06-04 01:53:16.839708691 +0200 @@ -18,14 +18,13 @@ %global pkg_name finite-typelits Name: ghc-%{pkg_name} -Version: 0.1.1.0 +Version: 0.1.2.0 Release: 0 Summary: A type inhabited by finitely many values, indexed by type-level naturals License: BSD-3-Clause Group: Development/Languages/Other 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/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-deepseq-devel BuildRequires: ghc-rpm-macros @@ -48,7 +47,6 @@ %prep %setup -q -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ finite-typelits-0.1.1.0.tar.gz -> finite-typelits-0.1.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/finite-typelits-0.1.1.0/finite-typelits.cabal new/finite-typelits-0.1.2.0/finite-typelits.cabal --- old/finite-typelits-0.1.1.0/finite-typelits.cabal 2016-12-16 12:48:27.000000000 +0100 +++ new/finite-typelits-0.1.2.0/finite-typelits.cabal 2017-04-27 02:45:19.000000000 +0200 @@ -1,5 +1,5 @@ name: finite-typelits -version: 0.1.1.0 +version: 0.1.2.0 synopsis: A type inhabited by finitely many values, indexed by type-level naturals. description: A type inhabited by finitely many values, indexed by type-level naturals. homepage: https://github.com/mniip/finite-typelits diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/finite-typelits-0.1.1.0/src/Data/Finite.hs new/finite-typelits-0.1.2.0/src/Data/Finite.hs --- old/finite-typelits-0.1.1.0/src/Data/Finite.hs 2016-12-16 12:48:27.000000000 +0100 +++ new/finite-typelits-0.1.2.0/src/Data/Finite.hs 2017-04-27 02:45:19.000000000 +0200 @@ -13,7 +13,7 @@ Finite, packFinite, packFiniteProxy, finite, finiteProxy, - getFinite, + getFinite, finites, finitesProxy, equals, cmp, natToFinite, weaken, strengthen, shift, unshift, @@ -47,6 +47,16 @@ finiteProxy :: KnownNat n => proxy n -> Integer -> Finite n finiteProxy _ = finite +-- | Generate a list of length @n@ of all elements of @'Finite' n@. +finites :: KnownNat n => [Finite n] +finites = results + where + results = Finite <$> [0 .. (natVal (head results) - 1)] + +-- | Same as 'finites' but with a proxy argument to avoid type signatures. +finitesProxy :: KnownNat n => proxy n -> [Finite n] +finitesProxy _ = finites + -- | Test two different types of finite numbers for equality. equals :: Finite n -> Finite m -> Bool equals (Finite x) (Finite y) = x == y