packages feed

closed 0.2.0.2 → 0.2.0.3

raw patch · 2 files changed

+15/−3 lines, 2 filesdep ~vectorPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: vector

API changes (from Hackage documentation)

- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Data.Aeson.Types.FromJSON.FromJSON (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Data.Csv.Conversion.FromField (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Database.Persist.Class.PersistField.PersistField (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Database.Persist.Sql.Class.PersistFieldSql (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Enum.Bounded (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Enum.Enum (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Num.Num (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Real.Integral (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Real.Real (Closed.Internal.Closed n m)
- Closed.Internal: instance (n GHC.TypeNats.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Test.QuickCheck.Arbitrary.Arbitrary (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Data.Aeson.Types.FromJSON.FromJSON (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Data.Csv.Conversion.FromField (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Database.Persist.Class.PersistField.PersistField (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Database.Persist.Sql.Class.PersistFieldSql (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Enum.Bounded (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Enum.Enum (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Num.Num (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Real.Integral (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => GHC.Real.Real (Closed.Internal.Closed n m)
+ Closed.Internal: instance (n Data.Type.Ord.<= m, GHC.TypeNats.KnownNat n, GHC.TypeNats.KnownNat m) => Test.QuickCheck.Arbitrary.Arbitrary (Closed.Internal.Closed n m)
- Closed: add :: Closed n m -> Closed o p -> Closed (n + o) (m + p)
+ Closed: add :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Closed (n + o) (m + p)
- Closed: clamp :: forall n m a. (KnownNat n, KnownNat m, n <= m, Integral a) => a -> Closed n m
+ Closed: clamp :: forall (n :: Nat) (m :: Nat) a. (KnownNat n, KnownNat m, n <= m, Integral a) => a -> Closed n m
- Closed: closed :: forall n m. (n <= m, KnownNat n, KnownNat m) => Integer -> Maybe (Closed n m)
+ Closed: closed :: forall (n :: Nat) (m :: Nat). (n <= m, KnownNat n, KnownNat m) => Integer -> Maybe (Closed n m)
- Closed: cmp :: Closed n m -> Closed o p -> Ordering
+ Closed: cmp :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Ordering
- Closed: equals :: Closed n m -> Closed o p -> Bool
+ Closed: equals :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Bool
- Closed: isValidClosed :: (KnownNat n, KnownNat m) => Closed n m -> Bool
+ Closed: isValidClosed :: forall (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m) => Closed n m -> Bool
- Closed: lowerBound :: Closed n m -> Proxy n
+ Closed: lowerBound :: forall (n :: Nat) (m :: Nat). Closed n m -> Proxy n
- Closed: multiply :: Closed n m -> Closed o p -> Closed (n * o) (m * p)
+ Closed: multiply :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Closed (n * o) (m * p)
- Closed: natToClosed :: forall n m x proxy. (n <= x, x <= m, KnownNat x, KnownNat n, KnownNat m) => proxy x -> Closed n m
+ Closed: natToClosed :: forall (n :: Nat) (m :: Nat) (x :: Nat) proxy. (n <= x, x <= m, KnownNat x, KnownNat n, KnownNat m) => proxy x -> Closed n m
- Closed: strengthenLower :: forall k n m. (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed k m)
+ Closed: strengthenLower :: forall (k :: Nat) (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed k m)
- Closed: strengthenUpper :: forall k n m. (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed n k)
+ Closed: strengthenUpper :: forall (k :: Nat) (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed n k)
- Closed: sub :: Closed n m -> Closed o p -> Either (Closed (o - n) (p - m)) (Closed (n - o) (m - p))
+ Closed: sub :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Either (Closed (o - n) (p - m)) (Closed (n - o) (m - p))
- Closed: type FiniteNat (rhs :: Endpoint) = Bounds ('Inclusive 0) rhs
+ Closed: type FiniteNat (rhs :: Endpoint) = Bounds 'Inclusive 0 rhs
- Closed: type Single (n :: Nat) = Bounds ('Inclusive n) ('Inclusive n)
+ Closed: type Single (n :: Nat) = Bounds 'Inclusive n 'Inclusive n
- Closed: type family Bounds (lhs :: Endpoint) (rhs :: Endpoint) :: Type
+ Closed: type family Bounds (lhs :: Endpoint) (rhs :: Endpoint)
- Closed: unsafeClosed :: forall n m. (HasCallStack, n <= m, KnownNat n, KnownNat m) => Integer -> Closed n m
+ Closed: unsafeClosed :: forall (n :: Nat) (m :: Nat). (HasCallStack, n <= m, KnownNat n, KnownNat m) => Integer -> Closed n m
- Closed: upperBound :: Closed n m -> Proxy m
+ Closed: upperBound :: forall (n :: Nat) (m :: Nat). Closed n m -> Proxy m
- Closed: weakenLower :: forall k n m. (n <= m, k <= n) => Closed n m -> Closed k m
+ Closed: weakenLower :: forall (k :: Nat) (n :: Nat) (m :: Nat). (n <= m, k <= n) => Closed n m -> Closed k m
- Closed: weakenUpper :: forall k n m. (n <= m, m <= k) => Closed n m -> Closed n k
+ Closed: weakenUpper :: forall (k :: Nat) (n :: Nat) (m :: Nat). (n <= m, m <= k) => Closed n m -> Closed n k
- Closed.Internal: add :: Closed n m -> Closed o p -> Closed (n + o) (m + p)
+ Closed.Internal: add :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Closed (n + o) (m + p)
- Closed.Internal: clamp :: forall n m a. (KnownNat n, KnownNat m, n <= m, Integral a) => a -> Closed n m
+ Closed.Internal: clamp :: forall (n :: Nat) (m :: Nat) a. (KnownNat n, KnownNat m, n <= m, Integral a) => a -> Closed n m
- Closed.Internal: closed :: forall n m. (n <= m, KnownNat n, KnownNat m) => Integer -> Maybe (Closed n m)
+ Closed.Internal: closed :: forall (n :: Nat) (m :: Nat). (n <= m, KnownNat n, KnownNat m) => Integer -> Maybe (Closed n m)
- Closed.Internal: cmp :: Closed n m -> Closed o p -> Ordering
+ Closed.Internal: cmp :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Ordering
- Closed.Internal: equals :: Closed n m -> Closed o p -> Bool
+ Closed.Internal: equals :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Bool
- Closed.Internal: isValidClosed :: (KnownNat n, KnownNat m) => Closed n m -> Bool
+ Closed.Internal: isValidClosed :: forall (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m) => Closed n m -> Bool
- Closed.Internal: lowerBound :: Closed n m -> Proxy n
+ Closed.Internal: lowerBound :: forall (n :: Nat) (m :: Nat). Closed n m -> Proxy n
- Closed.Internal: multiply :: Closed n m -> Closed o p -> Closed (n * o) (m * p)
+ Closed.Internal: multiply :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Closed (n * o) (m * p)
- Closed.Internal: natToClosed :: forall n m x proxy. (n <= x, x <= m, KnownNat x, KnownNat n, KnownNat m) => proxy x -> Closed n m
+ Closed.Internal: natToClosed :: forall (n :: Nat) (m :: Nat) (x :: Nat) proxy. (n <= x, x <= m, KnownNat x, KnownNat n, KnownNat m) => proxy x -> Closed n m
- Closed.Internal: strengthenLower :: forall k n m. (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed k m)
+ Closed.Internal: strengthenLower :: forall (k :: Nat) (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed k m)
- Closed.Internal: strengthenUpper :: forall k n m. (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed n k)
+ Closed.Internal: strengthenUpper :: forall (k :: Nat) (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m, KnownNat k, n <= m, n <= k, k <= m) => Closed n m -> Maybe (Closed n k)
- Closed.Internal: sub :: Closed n m -> Closed o p -> Either (Closed (o - n) (p - m)) (Closed (n - o) (m - p))
+ Closed.Internal: sub :: forall (n :: Nat) (m :: Nat) (o :: Nat) (p :: Nat). Closed n m -> Closed o p -> Either (Closed (o - n) (p - m)) (Closed (n - o) (m - p))
- Closed.Internal: type FiniteNat (rhs :: Endpoint) = Bounds ('Inclusive 0) rhs
+ Closed.Internal: type FiniteNat (rhs :: Endpoint) = Bounds 'Inclusive 0 rhs
- Closed.Internal: type Single (n :: Nat) = Bounds ('Inclusive n) ('Inclusive n)
+ Closed.Internal: type Single (n :: Nat) = Bounds 'Inclusive n 'Inclusive n
- Closed.Internal: type family Bounds (lhs :: Endpoint) (rhs :: Endpoint) :: Type
+ Closed.Internal: type family Bounds (lhs :: Endpoint) (rhs :: Endpoint)
- Closed.Internal: unrepresentable :: (KnownNat n, KnownNat m) => Integer -> Closed n m -> String -> String
+ Closed.Internal: unrepresentable :: forall (n :: Nat) (m :: Nat). (KnownNat n, KnownNat m) => Integer -> Closed n m -> String -> String
- Closed.Internal: unsafeClosed :: forall n m. (HasCallStack, n <= m, KnownNat n, KnownNat m) => Integer -> Closed n m
+ Closed.Internal: unsafeClosed :: forall (n :: Nat) (m :: Nat). (HasCallStack, n <= m, KnownNat n, KnownNat m) => Integer -> Closed n m
- Closed.Internal: upperBound :: Closed n m -> Proxy m
+ Closed.Internal: upperBound :: forall (n :: Nat) (m :: Nat). Closed n m -> Proxy m
- Closed.Internal: weakenLower :: forall k n m. (n <= m, k <= n) => Closed n m -> Closed k m
+ Closed.Internal: weakenLower :: forall (k :: Nat) (n :: Nat) (m :: Nat). (n <= m, k <= n) => Closed n m -> Closed k m
- Closed.Internal: weakenUpper :: forall k n m. (n <= m, m <= k) => Closed n m -> Closed n k
+ Closed.Internal: weakenUpper :: forall (k :: Nat) (n :: Nat) (m :: Nat). (n <= m, m <= k) => Closed n m -> Closed n k

Files

README.lhs view
@@ -211,6 +211,18 @@         getClosed cx <= natVal (upperBound cx) ``` +## Release++To release a new version of this library, push a commit to `main` using a+conventionally-formatted commit message.++- Prefix with `fix:` to release a new patch version,+- Prefix with `feat:` to release a new minor version, or+- Prefix with `feat!:` to release a new major version++To change the "epoch" version, edit it in `package.yaml` and change the+`.releaserc.yaml` tag prefix to match.+ ## Remarks  This library was inspired by [finite-typelits](https://hackage.haskell.org/package/finite-typelits) and [finite-typelits-bounded](https://github.com/pseudonom/finite-typelits-bounded). The differences are summarized below:
closed.cabal view
@@ -1,6 +1,6 @@ cabal-version:      1.12 name:               closed-version:            0.2.0.2+version:            0.2.0.3 license:            MIT license-file:       LICENSE maintainer:         Freckle Education <engineering@freckle.com>@@ -47,9 +47,9 @@         aeson >=1.3.1.1,         base >=4.9 && <5,         cassava >=0.5.1.0,-        closed -any,+        closed,         hspec >=2.5.5,         markdown-unlit >=0.5.0,         persistent >=2.8.2,         text >=1.2.3.1,-        vector >=0.12.0.1+        vector >=0.12.0.2