boring 0.1.2 → 0.1.3
raw patch · 3 files changed
+61/−10 lines, 3 filesdep +bindep +raldep ~basedep ~constraintsdep ~finPVP ok
version bump matches the API change (PVP)
Dependencies added: bin, ral
Dependency ranges changed: base, constraints, fin, vec
API changes (from Hackage documentation)
+ Data.Boring: instance (b Data.Type.Equality.~ 'Data.Bin.BP 'Data.BinP.BE) => Data.Boring.Boring (Data.Bin.Pos.Pos b)
+ Data.Boring: instance (b Data.Type.Equality.~ 'Data.Bin.BZ) => Data.Boring.Absurd (Data.Bin.Pos.Pos b)
+ Data.Boring: instance (b Data.Type.Equality.~ 'Data.Bin.BZ) => Data.Boring.Boring (Data.RAVec.RAVec b a)
+ Data.Boring: instance (b Data.Type.Equality.~ 'Data.BinP.BE) => Data.Boring.Boring (Data.BinP.PosP.PosP b)
+ Data.Boring: instance Data.Boring.Absurd a => Data.Boring.Absurd (Data.RAList.NonEmpty.Internal.NERAList a)
+ Data.Boring: instance Data.Type.Bin.SBinI b => Data.Boring.Boring (Data.Type.Bin.SBin b)
+ Data.Boring: instance Data.Type.BinP.SBinPI b => Data.Boring.Boring (Data.Type.BinP.SBinP b)
Files
- ChangeLog.md +5/−0
- boring.cabal +14/−6
- src/Data/Boring.hs +42/−4
ChangeLog.md view
@@ -1,5 +1,10 @@ # Revision history for boring +## 0.1.3++- Allow `vec-0.3`+- Add instances for `ral` and `bin` types.+ ## 0.1.2 - Add instances for 'Boring' instances for 'SBool', 'SNat' and 'LE'.
boring.cabal view
@@ -1,5 +1,5 @@ name: boring-version: 0.1.2+version: 0.1.3 synopsis: Boring and Absurd types description: * @Boring@ types are isomorphic to @()@.@@ -20,7 +20,13 @@ extra-source-files: ChangeLog.md cabal-version: >=1.10 tested-with:- GHC ==8.8.1 || ==8.6.5 || ==8.4.4 || ==8.2.2 || ==8.0.2 || ==7.10.3 || ==7.8.4+ GHC ==7.8.4+ || ==7.10.3+ || ==8.0.2+ || ==8.2.2+ || ==8.4.4+ || ==8.6.5+ || ==8.8.1 source-repository head type: git@@ -30,18 +36,20 @@ exposed-modules: Data.Boring build-depends: adjunctions >=4.4 && <4.5- , base >=4.7 && <4.13- , base-compat >=0.10.5 && <0.11+ , base >=4.7 && <4.14+ , base-compat >=0.10.5 && <0.12+ , bin >=0.1 && <0.2 , constraints ==0.4.1.3 || >=0.10 && <0.12 , dec >=0.0.3 && <0.1- , fin >=0.0.3 && <0.1+ , fin >=0.0.3 && <0.2 , generics-sop >=0.3.2.0 && <0.6+ , ral >=0.1 && <0.2 , singleton-bool >=0.1.4 && <0.2 , streams >=3.3 && <3.4 , tagged >=0.8.6 && <0.9 , transformers >=0.3 && <0.6 , transformers-compat >=0.5 && <0.7- , vec >=0.1 && <0.2+ , vec >=0.1 && <0.4 if !impl(ghc >=8.0) build-depends: semigroups >=0.18.5 && <0.20
src/Data/Boring.hs view
@@ -85,9 +85,15 @@ import Data.Stream.Infinite (Stream (..)) import GHC.Generics hiding (Rep) +import qualified Data.Bin as Bin+import qualified Data.Bin.Pos as Pos+import qualified Data.BinP.PosP as PosP import qualified Data.Fin as Fin import qualified Data.Nat as Nat+import qualified Data.RAList.NonEmpty as NERAList+import qualified Data.RAVec as RAVec import qualified Data.Singletons.Bool as Bool+import qualified Data.Type.Bin as Bin import qualified Data.Type.Nat as Nat import qualified Data.Type.Nat.LE as ZeroSucc import qualified Data.Type.Nat.LE.ReflStep as ReflStep@@ -225,23 +231,47 @@ -- singletons are boring --- | @since 0.1.3+-- | @since 0.1.2 instance Nat.SNatI n => Boring (Nat.SNat n) where boring = Nat.snat --- | @since 0.1.3+-- | @since 0.1.2 instance Bool.SBoolI b => Boring (Bool.SBool b) where boring = Bool.sbool --- | @since 0.1.3+-- | @since 0.1.2 instance ZeroSucc.LE n m => Boring (ZeroSucc.LEProof n m) where boring = ZeroSucc.leProof --- | @since 0.1.3+-- | @since 0.1.2 instance (ZeroSucc.LE n m, Nat.SNatI m) => Boring (ReflStep.LEProof n m) where boring = ReflStep.fromZeroSucc ZeroSucc.leProof -------------------------------------------------------------------------------+-- bin + ral+-------------------------------------------------------------------------------++-- | @since 0.1.3+instance b ~ 'Bin.BZ => Boring (RAVec.RAVec b a) where+ boring = RAVec.empty++-- | @since 0.1.3+instance b ~ 'Bin.BE => Boring (PosP.PosP b) where+ boring = PosP.boring++-- | @since 0.1.3+instance b ~ 'Bin.BP 'Bin.BE => Boring (Pos.Pos b) where+ boring = Pos.boring++-- | @since 0.1.3+instance Bin.SBinI b => Boring (Bin.SBin b) where+ boring = Bin.sbin++-- | @since 0.1.3+instance Bin.SBinPI b => Boring (Bin.SBinP b) where+ boring = Bin.sbinp++------------------------------------------------------------------------------- -- Generics ------------------------------------------------------------------------------- @@ -322,6 +352,14 @@ instance (ZeroSucc.LE m n, n' ~ 'Nat.S n, Nat.SNatI n) => Absurd (ReflStep.LEProof n' m) where absurd = ZeroSucc.leSwap' ZeroSucc.leProof . ReflStep.toZeroSucc++-- | @since 0.1.3+instance b ~ 'Bin.BZ => Absurd (Pos.Pos b) where+ absurd = Pos.absurd++-- | @since 0.1.3+instance Absurd a => Absurd (NERAList.NERAList a) where+ absurd = absurd . NERAList.head ------------------------------------------------------------------------------- -- Generics