bin 0.1.3 → 0.1.4
raw patch · 9 files changed
+34/−97 lines, 9 filesdep −natsdep ~QuickCheckdep ~basedep ~boringPVP ok
version bump matches the API change (PVP)
Dependencies removed: nats
Dependency ranges changed: QuickCheck, base, boring, dec, deepseq, fin, hashable, some
API changes (from Hackage documentation)
Files
- ChangeLog.md +4/−0
- bin.cabal +21/−21
- src/Data/Bin.hs +0/−11
- src/Data/Bin/Pos.hs +2/−8
- src/Data/BinP.hs +0/−12
- src/Data/BinP/PosP.hs +4/−10
- src/Data/Type/Bin.hs +3/−18
- src/Data/Type/BinP.hs +0/−13
- src/Data/Wrd.hs +0/−4
ChangeLog.md view
@@ -1,5 +1,9 @@ # Version history for bin +## 0.1.4++- Support GHC-8.6.5...9.10.1+ ## 0.1.3 - Add `EqP` and `OrdP` instances.
bin.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: bin-version: 0.1.3+version: 0.1.4 synopsis: Bin: binary natural numbers. category: Data, Dependent Types, Singletons, Math description:@@ -34,18 +34,15 @@ build-type: Simple extra-source-files: ChangeLog.md tested-with:- GHC ==7.8.4- || ==7.10.3- || ==8.0.2- || ==8.2.2- || ==8.4.4- || ==8.6.5+ GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2- || ==9.2.7- || ==9.4.4- || ==9.6.1+ || ==9.2.8+ || ==9.4.8+ || ==9.6.5+ || ==9.8.2+ || ==9.10.1 source-repository head type: git@@ -66,25 +63,28 @@ Data.Wrd other-modules: TrustworthyCompat++ -- GHC boot libs build-depends:- , base >=4.7 && <4.19- , boring ^>=0.2- , dec ^>=0.0.3- , deepseq >=1.3.0.2 && <1.5- , fin ^>=0.3- , hashable >=1.2.7.0 && <1.5- , QuickCheck ^>=2.14.2- , some ^>=1.0.4+ , base >=4.12.0.0 && <4.21+ , deepseq >=1.4.4.0 && <1.6 - if !impl(ghc >=7.10)- build-depends: nats ^>=1.1.2+ -- siblings+ build-depends: fin ^>=0.3.1 + -- other dependencies+ build-depends:+ , boring ^>=0.2.2+ , dec ^>=0.0.6+ , hashable ^>=1.4.4.0+ , QuickCheck ^>=2.14.2 || ^>=2.15+ , some ^>=1.0.6+ if impl(ghc >=9.0) -- these flags may abort compilation with GHC-8.10 -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295 ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode -- dump-core--- if impl(ghc >= 8.0) -- build-depends: dump-core -- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html
src/Data/Bin.hs view
@@ -1,11 +1,5 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE Safe #-}--#if __GLASGOW_HASKELL__ < 710-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE StandaloneDeriving #-}-#endif -- | Binary natural numbers, 'Bin'. -- -- This module is designed to be imported qualified.@@ -80,11 +74,6 @@ ------------------------------------------------------------------------------- -- Instances ---------------------------------------------------------------------------------#if __GLASGOW_HASKELL__ < 710-deriving instance Typeable 'BZ-deriving instance Typeable 'BP-#endif -- | 'Bin' is printed as 'Natural'. --
src/Data/Bin/Pos.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE EmptyCase #-}@@ -36,15 +35,12 @@ import Control.DeepSeq (NFData (..)) import Data.Bin (Bin (..), BinP (..)) import Data.BinP.PosP (PosP (..))+import Data.EqP (EqP (..)) import Data.GADT.Show (GShow (..))+import Data.OrdP (OrdP (..)) import Data.Typeable (Typeable) import Numeric.Natural (Natural) -#if MIN_VERSION_some(1,0,5)-import Data.EqP (EqP (..))-import Data.OrdP (OrdP (..))-#endif- import qualified Data.BinP.PosP as PP import qualified Data.Boring as Boring import qualified Data.Type.Bin as B@@ -87,7 +83,6 @@ instance GShow Pos where gshowsPrec = showsPrec -#if MIN_VERSION_some(1,0,5) -- | -- -- >>> eqp (top :: Pos Bin4) (top :: Pos Bin6)@@ -115,7 +110,6 @@ -- instance OrdP Pos where comparep (Pos x) (Pos y) = comparep x y-#endif -- | --
src/Data/BinP.hs view
@@ -1,12 +1,6 @@ {-# LANGUAGE BangPatterns #-}-{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE Safe #-}--#if __GLASGOW_HASKELL__ < 710-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE StandaloneDeriving #-}-#endif -- | Positive binary natural numbers, 'BinP'. -- -- This module is designed to be imported qualified.@@ -60,12 +54,6 @@ ------------------------------------------------------------------------------- -- Instances ---------------------------------------------------------------------------------#if __GLASGOW_HASKELL__ < 710-deriving instance Typeable 'BE-deriving instance Typeable 'B0-deriving instance Typeable 'B1-#endif -- | --
src/Data/BinP/PosP.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE BangPatterns #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-}@@ -33,23 +32,20 @@ ) where import Prelude- (Bounded (..), Either (..), Eq (..), Int, Integer, Num, Ord (..), Ordering (..), Show (..), ShowS, String, either,- fmap, fromIntegral, map, showParen, showString, ($), (*), (+), (++), (.))+ (Bounded (..), Either (..), Eq (..), Int, Integer, Num, Ord (..), Ordering (..), Show (..), ShowS, String,+ either, fmap, fromIntegral, map, showParen, showString, ($), (*), (+), (++), (.)) import Control.DeepSeq (NFData (..)) import Data.Bin (BinP (..))+import Data.EqP (EqP (..)) import Data.GADT.Show (GShow (..)) import Data.Nat (Nat (..))+import Data.OrdP (OrdP (..)) import Data.Proxy (Proxy (..)) import Data.Typeable (Typeable) import Data.Wrd (Wrd (..)) import Numeric.Natural (Natural) -#if MIN_VERSION_some(1,0,5)-import Data.EqP (EqP (..))-import Data.OrdP (OrdP (..))-#endif- import qualified Data.Bin as B import qualified Data.Boring as Boring import qualified Data.Type.Bin as B@@ -95,7 +91,6 @@ -- some ------------------------------------------------------------------------------- -#if MIN_VERSION_some(1,0,5) -- | @since 0.1.3 instance EqP PosP where eqp x y = toNatural x == toNatural y@@ -103,7 +98,6 @@ -- | @since 0.1.3 instance OrdP PosP where comparep x y = compare (toNatural x) (toNatural y)-#endif ------------------------------------------------------------------------------- -- Instances
src/Data/Type/Bin.hs view
@@ -1,20 +1,15 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE RankNTypes #-}+{-# LANGUAGE Safe #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-}-#if MIN_VERSION_base(4,8,0)-{-# LANGUAGE Safe #-}-#else-{-# LANGUAGE Trustworthy #-}-#endif -- | Binary natural numbers. @DataKinds@ stuff. module Data.Type.Bin ( -- * Singleton@@ -54,7 +49,8 @@ import Control.DeepSeq (NFData (..)) import Data.Bin (Bin (..), BinP (..)) import Data.Boring (Boring (..))-import Data.GADT.Compare (GEq (..))+import Data.EqP (EqP (..))+import Data.GADT.Compare (GEq (..), defaultEq) import Data.GADT.DeepSeq (GNFData (..)) import Data.GADT.Show (GShow (..)) import Data.Nat (Nat (..))@@ -63,11 +59,6 @@ import Data.Typeable (Typeable) import Numeric.Natural (Natural) -#if MIN_VERSION_some(1,0,5)-import Data.EqP (EqP (..))-import Data.GADT.Compare (defaultEq)-#endif- import qualified Data.Type.BinP as BP import qualified Data.Type.Nat as N import qualified GHC.TypeLits as GHC@@ -189,10 +180,6 @@ EqBin ('BP n) ('BP m) = BP.EqBinP n m EqBin n m = 'False -#if !MIN_VERSION_base(4,11,0)-type instance n == m = EqBin n m-#endif- ------------------------------------------------------------------------------- -- Induction -------------------------------------------------------------------------------@@ -419,10 +406,8 @@ instance Ord (SBin a) where compare _ _ = EQ -#if MIN_VERSION_some(1,0,5) -- | @since 0.1.3 instance EqP SBin where eqp = defaultEq-#endif -- | @since 0.1.2 instance GShow SBin where
src/Data/Type/BinP.hs view
@@ -10,11 +10,7 @@ {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-}-#if MIN_VERSION_base(4,8,0) {-# LANGUAGE Safe #-}-#else-{-# LANGUAGE Trustworthy #-}-#endif -- | Positive binary natural numbers. @DataKinds@ stuff. module Data.Type.BinP ( -- * Singleton@@ -57,11 +53,8 @@ import Data.Proxy (Proxy (..)) import Data.Typeable (Typeable) import Numeric.Natural (Natural)--#if MIN_VERSION_some(1,0,5) import Data.EqP (EqP (..)) import Data.GADT.Compare (defaultEq)-#endif import qualified Data.Type.Nat as N import qualified GHC.TypeLits as GHC@@ -167,10 +160,6 @@ EqBinP ('B1 n) ('B1 m) = EqBinP n m EqBinP n m = 'False -#if !MIN_VERSION_base(4,11,0)-type instance n == m = EqBinP n m-#endif- ------------------------------------------------------------------------------- -- Convert to GHC Nat -------------------------------------------------------------------------------@@ -295,10 +284,8 @@ instance Ord (SBinP a) where compare _ _ = EQ -#if MIN_VERSION_some(1,0,5) -- | @since 0.1.3 instance EqP SBinP where eqp = defaultEq-#endif -- | @since 0.1.2 instance GShow SBinP where
src/Data/Wrd.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE BangPatterns #-}-{-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE GADTs #-}@@ -215,10 +214,7 @@ instance N.SNatI n => I.FiniteBits (Wrd n) where finiteBitSize _ = N.reflectToNum (Proxy :: Proxy n)--#if MIN_VERSION_base(4,8,0) countLeadingZeros = countLeadingZeros-#endif testBit :: Wrd n -> Int -> Bool testBit w0 i = snd (go 0 w0) where