bin 0.1.4 → 0.1.4.1
raw patch · 2 files changed
+24/−23 lines, 2 filesdep −decdep ~QuickCheckdep ~basedep ~somePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: dec
Dependency ranges changed: QuickCheck, base, some
API changes (from Hackage documentation)
- Data.Bin.Pos: [Pos] :: PosP b -> Pos ('BP b)
+ Data.Bin.Pos: [Pos] :: forall (b1 :: BinP). PosP b1 -> Pos ('BP b1)
- Data.Bin.Pos: explicitShow :: Pos b -> String
+ Data.Bin.Pos: explicitShow :: forall (b :: Bin). Pos b -> String
- Data.Bin.Pos: explicitShowsPrec :: Int -> Pos b -> ShowS
+ Data.Bin.Pos: explicitShowsPrec :: forall (b :: Bin). Int -> Pos b -> ShowS
- Data.Bin.Pos: pop :: (SBinPI a, Pred b ~ 'BP a, Succ a ~ b) => Pos ('BP a) -> Pos ('BP b)
+ Data.Bin.Pos: pop :: forall (a :: BinP) (b :: BinP). (SBinPI a, Pred b ~ 'BP a, Succ a ~ b) => Pos ('BP a) -> Pos ('BP b)
- Data.Bin.Pos: toNatural :: Pos b -> Natural
+ Data.Bin.Pos: toNatural :: forall (b :: Bin). Pos b -> Natural
- Data.Bin.Pos: top :: SBinPI b => Pos ('BP b)
+ Data.Bin.Pos: top :: forall (b :: BinP). SBinPI b => Pos ('BP b)
- Data.Bin.Pos: universe :: forall b. SBinI b => [Pos b]
+ Data.Bin.Pos: universe :: forall (b :: Bin). SBinI b => [Pos b]
- Data.Bin.Pos: weakenRight1 :: SBinPI b => Pos ('BP b) -> Pos (Succ'' b)
+ Data.Bin.Pos: weakenRight1 :: forall (b :: BinP). SBinPI b => Pos ('BP b) -> Pos (Succ'' b)
- Data.BinP.PosP: [AtEnd] :: Wrd n -> PosP' n 'BE
+ Data.BinP.PosP: [AtEnd] :: forall (n :: Nat). Wrd n -> PosP' n 'BE
- Data.BinP.PosP: [Here] :: Wrd n -> PosP' n ('B1 b)
+ Data.BinP.PosP: [Here] :: forall (n :: Nat) (b1 :: BinP). Wrd n -> PosP' n ('B1 b1)
- Data.BinP.PosP: [There0] :: PosP' ('S n) b -> PosP' n ('B0 b)
+ Data.BinP.PosP: [There0] :: forall (n :: Nat) (b1 :: BinP). PosP' ('S n) b1 -> PosP' n ('B0 b1)
- Data.BinP.PosP: [There1] :: PosP' ('S n) b -> PosP' n ('B1 b)
+ Data.BinP.PosP: [There1] :: forall (n :: Nat) (b1 :: BinP). PosP' ('S n) b1 -> PosP' n ('B1 b1)
- Data.BinP.PosP: explicitShow :: PosP b -> String
+ Data.BinP.PosP: explicitShow :: forall (b :: BinP). PosP b -> String
- Data.BinP.PosP: explicitShow' :: PosP' n b -> String
+ Data.BinP.PosP: explicitShow' :: forall (n :: Nat) (b :: BinP). PosP' n b -> String
- Data.BinP.PosP: explicitShowsPrec :: Int -> PosP b -> ShowS
+ Data.BinP.PosP: explicitShowsPrec :: forall (b :: BinP). Int -> PosP b -> ShowS
- Data.BinP.PosP: explicitShowsPrec' :: Int -> PosP' n b -> ShowS
+ Data.BinP.PosP: explicitShowsPrec' :: forall (n :: Nat) (b :: BinP). Int -> PosP' n b -> ShowS
- Data.BinP.PosP: pop :: (SBinPI a, Pred b ~ 'BP a, Succ a ~ b) => PosP a -> PosP b
+ Data.BinP.PosP: pop :: forall (a :: BinP) (b :: BinP). (SBinPI a, Pred b ~ 'BP a, Succ a ~ b) => PosP a -> PosP b
- Data.BinP.PosP: toNatural :: PosP b -> Natural
+ Data.BinP.PosP: toNatural :: forall (b :: BinP). PosP b -> Natural
- Data.BinP.PosP: toNatural' :: forall n b. SNatI n => PosP' n b -> Natural
+ Data.BinP.PosP: toNatural' :: forall (n :: Nat) (b :: BinP). SNatI n => PosP' n b -> Natural
- Data.BinP.PosP: top :: SBinPI b => PosP b
+ Data.BinP.PosP: top :: forall (b :: BinP). SBinPI b => PosP b
- Data.BinP.PosP: universe :: forall b. SBinPI b => [PosP b]
+ Data.BinP.PosP: universe :: forall (b :: BinP). SBinPI b => [PosP b]
- Data.BinP.PosP: universe' :: forall b n. (SNatI n, SBinPI b) => [PosP' n b]
+ Data.BinP.PosP: universe' :: forall (b :: BinP) (n :: Nat). (SNatI n, SBinPI b) => [PosP' n b]
- Data.BinP.PosP: weakenRight1 :: SBinPI b => PosP b -> PosP (Succ b)
+ Data.BinP.PosP: weakenRight1 :: forall (b :: BinP). SBinPI b => PosP b -> PosP (Succ b)
- Data.BinP.PosP: weakenRight1' :: forall b n. SBinP b -> PosP' n b -> PosP' n (Succ b)
+ Data.BinP.PosP: weakenRight1' :: forall (b :: BinP) (n :: Nat). SBinP b -> PosP' n b -> PosP' n (Succ b)
- Data.Type.Bin: [SB0] :: SBinPI b => SBinP ('B0 b)
+ Data.Type.Bin: [SB0] :: forall (b1 :: BinP). SBinPI b1 => SBinP ('B0 b1)
- Data.Type.Bin: [SB1] :: SBinPI b => SBinP ('B1 b)
+ Data.Type.Bin: [SB1] :: forall (b1 :: BinP). SBinPI b1 => SBinP ('B1 b1)
- Data.Type.Bin: [SBP] :: SBinPI b => SBin ('BP b)
+ Data.Type.Bin: [SBP] :: forall (b1 :: BinP). SBinPI b1 => SBin ('BP b1)
- Data.Type.Bin: eqBin :: forall a b. (SBinI a, SBinI b) => Maybe (a :~: b)
+ Data.Type.Bin: eqBin :: forall (a :: Bin) (b :: Bin). (SBinI a, SBinI b) => Maybe (a :~: b)
- Data.Type.Bin: induction :: forall b f. SBinI b => f 'BZ -> f ('BP 'BE) -> (forall bb. SBinPI bb => f ('BP bb) -> f ('BP ('B0 bb))) -> (forall bb. SBinPI bb => f ('BP bb) -> f ('BP ('B1 bb))) -> f b
+ Data.Type.Bin: induction :: forall (b :: Bin) f. SBinI b => f 'BZ -> f ('BP 'BE) -> (forall (bb :: BinP). SBinPI bb => f ('BP bb) -> f ('BP ('B0 bb))) -> (forall (bb :: BinP). SBinPI bb => f ('BP bb) -> f ('BP ('B1 bb))) -> f b
- Data.Type.Bin: reflect :: forall b proxy. SBinI b => proxy b -> Bin
+ Data.Type.Bin: reflect :: forall (b :: Bin) proxy. SBinI b => proxy b -> Bin
- Data.Type.Bin: reflectToNum :: forall b proxy a. (SBinI b, Num a) => proxy b -> a
+ Data.Type.Bin: reflectToNum :: forall (b :: Bin) proxy a. (SBinI b, Num a) => proxy b -> a
- Data.Type.Bin: reify :: forall r. Bin -> (forall b. SBinI b => Proxy b -> r) -> r
+ Data.Type.Bin: reify :: Bin -> (forall (b :: Bin). SBinI b => Proxy b -> r) -> r
- Data.Type.Bin: sbinToBin :: forall n. SBin n -> Bin
+ Data.Type.Bin: sbinToBin :: forall (n :: Bin). SBin n -> Bin
- Data.Type.Bin: sbinToNatural :: forall n. SBin n -> Natural
+ Data.Type.Bin: sbinToNatural :: forall (n :: Bin). SBin n -> Natural
- Data.Type.Bin: sbinpToBinP :: forall n. SBinP n -> BinP
+ Data.Type.Bin: sbinpToBinP :: forall (n :: BinP). SBinP n -> BinP
- Data.Type.Bin: sbinpToNatural :: forall n. SBinP n -> Natural
+ Data.Type.Bin: sbinpToNatural :: forall (n :: BinP). SBinP n -> Natural
- Data.Type.Bin: type Succ b = 'BP (Succ' b)
+ Data.Type.Bin: type Succ (b :: Bin) = 'BP Succ' b
- Data.Type.Bin: type Succ'' b = 'BP (Succ b)
+ Data.Type.Bin: type Succ'' (b :: BinP) = 'BP Succ b
- Data.Type.Bin: withSBin :: SBin b -> (SBinI b => r) -> r
+ Data.Type.Bin: withSBin :: forall (b :: Bin) r. SBin b -> (SBinI b => r) -> r
- Data.Type.Bin: withSBinP :: SBinP b -> (SBinPI b => r) -> r
+ Data.Type.Bin: withSBinP :: forall (b :: BinP) r. SBinP b -> (SBinPI b => r) -> r
- Data.Type.Bin: withSucc :: forall b r. SBinI b => Proxy b -> (SBinPI (Succ' b) => r) -> r
+ Data.Type.Bin: withSucc :: forall (b :: Bin) r. SBinI b => Proxy b -> (SBinPI (Succ' b) => r) -> r
- Data.Type.BinP: [SB0] :: SBinPI b => SBinP ('B0 b)
+ Data.Type.BinP: [SB0] :: forall (b1 :: BinP). SBinPI b1 => SBinP ('B0 b1)
- Data.Type.BinP: [SB1] :: SBinPI b => SBinP ('B1 b)
+ Data.Type.BinP: [SB1] :: forall (b1 :: BinP). SBinPI b1 => SBinP ('B1 b1)
- Data.Type.BinP: eqBinP :: forall a b. (SBinPI a, SBinPI b) => Maybe (a :~: b)
+ Data.Type.BinP: eqBinP :: forall (a :: BinP) (b :: BinP). (SBinPI a, SBinPI b) => Maybe (a :~: b)
- Data.Type.BinP: induction :: forall b f. SBinPI b => f 'BE -> (forall bb. SBinPI bb => f bb -> f ('B0 bb)) -> (forall bb. SBinPI bb => f bb -> f ('B1 bb)) -> f b
+ Data.Type.BinP: induction :: forall (b :: BinP) f. SBinPI b => f 'BE -> (forall (bb :: BinP). SBinPI bb => f bb -> f ('B0 bb)) -> (forall (bb :: BinP). SBinPI bb => f bb -> f ('B1 bb)) -> f b
- Data.Type.BinP: reflect :: forall b proxy. SBinPI b => proxy b -> BinP
+ Data.Type.BinP: reflect :: forall (b :: BinP) proxy. SBinPI b => proxy b -> BinP
- Data.Type.BinP: reflectToNum :: forall b proxy a. (SBinPI b, Num a) => proxy b -> a
+ Data.Type.BinP: reflectToNum :: forall (b :: BinP) proxy a. (SBinPI b, Num a) => proxy b -> a
- Data.Type.BinP: reify :: forall r. BinP -> (forall b. SBinPI b => Proxy b -> r) -> r
+ Data.Type.BinP: reify :: BinP -> (forall (b :: BinP). SBinPI b => Proxy b -> r) -> r
- Data.Type.BinP: sbinpToBinP :: forall n. SBinP n -> BinP
+ Data.Type.BinP: sbinpToBinP :: forall (n :: BinP). SBinP n -> BinP
- Data.Type.BinP: sbinpToNatural :: forall n. SBinP n -> Natural
+ Data.Type.BinP: sbinpToNatural :: forall (n :: BinP). SBinP n -> Natural
- Data.Type.BinP: withSBinP :: SBinP b -> (SBinPI b => r) -> r
+ Data.Type.BinP: withSBinP :: forall (b :: BinP) r. SBinP b -> (SBinPI b => r) -> r
- Data.Type.BinP: withSucc :: forall b r. SBinPI b => Proxy b -> (SBinPI (Succ b) => r) -> r
+ Data.Type.BinP: withSucc :: forall (b :: BinP) r. SBinPI b => Proxy b -> (SBinPI (Succ b) => r) -> r
- Data.Wrd: (.&.) :: Wrd n -> Wrd n -> Wrd n
+ Data.Wrd: (.&.) :: forall (n :: Nat). Wrd n -> Wrd n -> Wrd n
- Data.Wrd: (.|.) :: Wrd n -> Wrd n -> Wrd n
+ Data.Wrd: (.|.) :: forall (n :: Nat). Wrd n -> Wrd n -> Wrd n
- Data.Wrd: [W0] :: Wrd n -> Wrd ('S n)
+ Data.Wrd: [W0] :: forall (n1 :: Nat). Wrd n1 -> Wrd ('S n1)
- Data.Wrd: [W1] :: Wrd n -> Wrd ('S n)
+ Data.Wrd: [W1] :: forall (n1 :: Nat). Wrd n1 -> Wrd ('S n1)
- Data.Wrd: clearBit :: Wrd n -> Int -> Wrd n
+ Data.Wrd: clearBit :: forall (n :: Nat). Wrd n -> Int -> Wrd n
- Data.Wrd: complement :: Wrd n -> Wrd n
+ Data.Wrd: complement :: forall (n :: Nat). Wrd n -> Wrd n
- Data.Wrd: complement2 :: Wrd n -> Wrd n
+ Data.Wrd: complement2 :: forall (n :: Nat). Wrd n -> Wrd n
- Data.Wrd: complementBit :: Wrd n -> Int -> Wrd n
+ Data.Wrd: complementBit :: forall (n :: Nat). Wrd n -> Int -> Wrd n
- Data.Wrd: explicitShow :: Wrd n -> String
+ Data.Wrd: explicitShow :: forall (n :: Nat). Wrd n -> String
- Data.Wrd: explicitShowsPrec :: Int -> Wrd n -> ShowS
+ Data.Wrd: explicitShowsPrec :: forall (n :: Nat). Int -> Wrd n -> ShowS
- Data.Wrd: popCount :: Wrd n -> Int
+ Data.Wrd: popCount :: forall (n :: Nat). Wrd n -> Int
- Data.Wrd: rotateL :: Wrd n -> Int -> Wrd n
+ Data.Wrd: rotateL :: forall (n :: Nat). Wrd n -> Int -> Wrd n
- Data.Wrd: rotateL1 :: Wrd n -> Wrd n
+ Data.Wrd: rotateL1 :: forall (n :: Nat). Wrd n -> Wrd n
- Data.Wrd: rotateR :: Wrd n -> Int -> Wrd n
+ Data.Wrd: rotateR :: forall (n :: Nat). Wrd n -> Int -> Wrd n
- Data.Wrd: rotateR1 :: Wrd n -> Wrd n
+ Data.Wrd: rotateR1 :: forall (n :: Nat). Wrd n -> Wrd n
- Data.Wrd: setBit :: Wrd n -> Int -> Wrd n
+ Data.Wrd: setBit :: forall (n :: Nat). Wrd n -> Int -> Wrd n
- Data.Wrd: shiftL :: Wrd n -> Int -> Wrd n
+ Data.Wrd: shiftL :: forall (n :: Nat). Wrd n -> Int -> Wrd n
- Data.Wrd: shiftL1 :: Wrd n -> Wrd n
+ Data.Wrd: shiftL1 :: forall (n :: Nat). Wrd n -> Wrd n
- Data.Wrd: shiftR :: Wrd n -> Int -> Wrd n
+ Data.Wrd: shiftR :: forall (n :: Nat). Wrd n -> Int -> Wrd n
- Data.Wrd: shiftR1 :: Wrd n -> Wrd n
+ Data.Wrd: shiftR1 :: forall (n :: Nat). Wrd n -> Wrd n
- Data.Wrd: testBit :: Wrd n -> Int -> Bool
+ Data.Wrd: testBit :: forall (n :: Nat). Wrd n -> Int -> Bool
- Data.Wrd: toNatural :: Wrd n -> Natural
+ Data.Wrd: toNatural :: forall (n :: Nat). Wrd n -> Natural
- Data.Wrd: universe :: forall n. SNatI n => [Wrd n]
+ Data.Wrd: universe :: forall (n :: Nat). SNatI n => [Wrd n]
- Data.Wrd: xor :: Wrd n -> Wrd n -> Wrd n
+ Data.Wrd: xor :: forall (n :: Nat). Wrd n -> Wrd n -> Wrd n
Files
- bin.cabal +10/−9
- src/Data/Type/Bin.hs +14/−14
bin.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: bin-version: 0.1.4+version: 0.1.4.1 synopsis: Bin: binary natural numbers. category: Data, Dependent Types, Singletons, Math description:@@ -40,9 +40,11 @@ || ==9.0.2 || ==9.2.8 || ==9.4.8- || ==9.6.5- || ==9.8.2- || ==9.10.1+ || ==9.6.6+ || ==9.8.4+ || ==9.10.3+ || ==9.12.2+ || ==9.14.1 source-repository head type: git@@ -66,7 +68,7 @@ -- GHC boot libs build-depends:- , base >=4.12.0.0 && <4.21+ , base >=4.12.0.0 && <4.23 , deepseq >=1.4.4.0 && <1.6 -- siblings@@ -75,10 +77,9 @@ -- 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+ , hashable ^>=1.4.4.0 || ^>=1.5.0.0+ , QuickCheck ^>=2.14.2 || ^>=2.15 || ^>=2.18.0.0+ , some ^>=1.0.6 || ^>=1.1 if impl(ghc >=9.0) -- these flags may abort compilation with GHC-8.10
src/Data/Type/Bin.hs view
@@ -220,7 +220,7 @@ -- -- >>> :kind! FromGHC 7 -- FromGHC 7 :: Bin--- = 'BP ('B1 ('B1 'BE))+-- = BP (B1 (B1 BE)) -- type family FromGHC (n :: GHC.Nat) :: Bin where FromGHC n = FromGHC' (GhcDivMod2 n)@@ -251,7 +251,7 @@ -- -- >>> :kind! ToNat Bin5 -- ToNat Bin5 :: Nat--- = 'S ('S ('S ('S ('S 'Z))))+-- = S (S (S (S (S Z)))) -- type family ToNat (b :: Bin) :: Nat where ToNat 'BZ = 'Z@@ -261,7 +261,7 @@ -- -- >>> :kind! FromNat N.Nat5 -- FromNat N.Nat5 :: Bin--- = 'BP ('B1 ('B0 'BE))+-- = BP (B1 (B0 BE)) -- type family FromNat (n :: Nat) :: Bin where FromNat n = FromNat' (N.DivMod2 n)@@ -280,11 +280,11 @@ -- -- >>> :kind! Mult2 Bin0 == Bin0 -- Mult2 Bin0 == Bin0 :: Bool--- = 'True+-- = True -- -- >>> :kind! Mult2 Bin3 == Bin6 -- Mult2 Bin3 == Bin6 :: Bool--- = 'True+-- = True -- type family Mult2 (b :: Bin) :: Bin where Mult2 'BZ = 'BZ@@ -294,11 +294,11 @@ -- -- >>> :kind! Mult2Plus1 Bin0 -- Mult2Plus1 Bin0 :: BinP--- = 'BE+-- = BE -- -- >>> :kind! Mult2Plus1 Bin4 == BinP9 -- Mult2Plus1 Bin4 == BinP9 :: Bool--- = 'True+-- = True -- type family Mult2Plus1 (b :: Bin) :: BinP where Mult2Plus1 'BZ = 'BE@@ -312,7 +312,7 @@ -- -- >>> :kind! Succ Bin5 -- Succ Bin5 :: Bin--- = 'BP ('B0 ('B1 'BE))+-- = BP (B0 (B1 BE)) -- -- @ -- `Succ` :: 'Bin' -> 'Bin'@@ -343,19 +343,19 @@ -- -- >>> :kind! Pred BP.BinP1 -- Pred BP.BinP1 :: Bin--- = 'BZ+-- = BZ -- -- >>> :kind! Pred BP.BinP5 == Bin4 -- Pred BP.BinP5 == Bin4 :: Bool--- = 'True+-- = True -- -- >>> :kind! Pred BP.BinP8 == Bin7 -- Pred BP.BinP8 == Bin7 :: Bool--- = 'True+-- = True -- -- >>> :kind! Pred BP.BinP6 == Bin5 -- Pred BP.BinP6 == Bin5 :: Bool--- = 'True+-- = True -- type family Pred (b :: BinP) :: Bin where Pred 'BE = 'BZ@@ -375,11 +375,11 @@ -- -- >>> :kind! Plus Bin3 Bin3 == Bin6 -- Plus Bin3 Bin3 == Bin6 :: Bool--- = 'True+-- = True -- -- >>> :kind! Mult2 Bin3 == Bin6 -- Mult2 Bin3 == Bin6 :: Bool--- = 'True+-- = True -- type family Plus (a :: Bin) (b :: Bin) :: Bin where Plus 'BZ b = b