vessel 0.1.0.0 → 0.2.0.0
raw patch · 4 files changed
+27/−18 lines, 4 filesdep ~bifunctorsdep ~constraints-extrasdep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: bifunctors, constraints-extras, containers, dependent-map, dependent-monoidal-map, dependent-sum, dependent-sum-aeson-orphans, monoidal-containers, mtl, patch, these
API changes (from Hackage documentation)
- Data.Vessel.Internal: instance forall k k1 (f :: k -> *) (g :: k1 -> k) (a :: k1). GHC.Base.Monoid (f (g a)) => GHC.Base.Monoid (Data.Functor.Compose.Compose f g a)
- Data.Vessel.Internal: instance forall k k1 (f :: k -> *) (g :: k1 -> k) (a :: k1). GHC.Base.Semigroup (f (g a)) => GHC.Base.Semigroup (Data.Functor.Compose.Compose f g a)
- Data.Vessel.Internal: instance forall k k1 (f :: k -> *) (g :: k1 -> k) (x :: k1). Data.Patch.Group (f (g x)) => Data.Patch.Group (Data.Functor.Compose.Compose f g x)
- Data.Vessel.SubVessel: instance (GHC.Classes.Ord k, Data.Vessel.Class.View v, Data.Patch.Group (v f)) => Data.Patch.Group (Data.Vessel.SubVessel.SubVessel k v f)
+ Data.Vessel.Internal: instance forall k1 k (f :: k -> *) (g :: k1 -> k) (a :: k1). Data.Patch.Additive (f (g a)) => Data.Patch.Additive (Data.Functor.Compose.Compose f g a)
+ Data.Vessel.Internal: instance forall k1 k (f :: k -> *) (g :: k1 -> k) (a :: k1). GHC.Base.Monoid (f (g a)) => GHC.Base.Monoid (Data.Functor.Compose.Compose f g a)
+ Data.Vessel.Internal: instance forall k1 k (f :: k -> *) (g :: k1 -> k) (a :: k1). GHC.Base.Semigroup (f (g a)) => GHC.Base.Semigroup (Data.Functor.Compose.Compose f g a)
+ Data.Vessel.Internal: instance forall k1 k (f :: k -> *) (g :: k1 -> k) (x :: k1). Data.Patch.Group (f (g x)) => Data.Patch.Group (Data.Functor.Compose.Compose f g x)
+ Data.Vessel.SubVessel: instance (Data.Patch.Group (v f), GHC.Classes.Ord k, Data.Vessel.Class.View v) => Data.Patch.Group (Data.Vessel.SubVessel.SubVessel k v f)
- Data.Vessel: (:~>) :: k v -> v g -> VSum (k :: ((* -> *) -> *) -> *) (g :: * -> *)
+ Data.Vessel: (:~>) :: k v -> v g -> VSum
- Data.Vessel: DMapV :: MonoidalDMap k (Compose g v) -> DMapV (k :: * -> *) (v :: * -> *) g
+ Data.Vessel: DMapV :: MonoidalDMap k (Compose g v) -> DMapV g
- Data.Vessel: FlipAp :: v g -> FlipAp (g :: k) (v :: k -> *)
+ Data.Vessel: FlipAp :: v g -> FlipAp
- Data.Vessel: IdentityV :: g a -> IdentityV (a :: *) (g :: * -> *)
+ Data.Vessel: IdentityV :: g a -> IdentityV
- Data.Vessel: SingleV :: g (First (Maybe a)) -> SingleV (a :: *) (g :: * -> *)
+ Data.Vessel: SingleV :: g (First (Maybe a)) -> SingleV
- Data.Vessel: SubVessel :: Vessel (SubVesselKey k v) f -> SubVessel (k :: *) (v :: (* -> *) -> *) (f :: * -> *)
+ Data.Vessel: SubVessel :: Vessel (SubVesselKey k v) f -> SubVessel
- Data.Vessel: Vessel :: MonoidalDMap k (FlipAp g) -> Vessel (k :: ((* -> *) -> *) -> *) (g :: * -> *)
+ Data.Vessel: Vessel :: MonoidalDMap k (FlipAp g) -> Vessel
- Data.Vessel: [unDMapV] :: DMapV (k :: * -> *) (v :: * -> *) g -> MonoidalDMap k (Compose g v)
+ Data.Vessel: [unDMapV] :: DMapV g -> MonoidalDMap k (Compose g v)
- Data.Vessel: [unFlipAp] :: FlipAp (g :: k) (v :: k -> *) -> v g
+ Data.Vessel: [unFlipAp] :: FlipAp -> v g
- Data.Vessel: [unIdentityV] :: IdentityV (a :: *) (g :: * -> *) -> g a
+ Data.Vessel: [unIdentityV] :: IdentityV -> g a
- Data.Vessel: [unSingleV] :: SingleV (a :: *) (g :: * -> *) -> g (First (Maybe a))
+ Data.Vessel: [unSingleV] :: SingleV -> g (First (Maybe a))
- Data.Vessel: [unSubVessel] :: SubVessel (k :: *) (v :: (* -> *) -> *) (f :: * -> *) -> Vessel (SubVesselKey k v) f
+ Data.Vessel: [unSubVessel] :: SubVessel -> Vessel (SubVesselKey k v) f
- Data.Vessel: [unVessel] :: Vessel (k :: ((* -> *) -> *) -> *) (g :: * -> *) -> MonoidalDMap k (FlipAp g)
+ Data.Vessel: [unVessel] :: Vessel -> MonoidalDMap k (FlipAp g)
- Data.Vessel.DependentMap: DMapV :: MonoidalDMap k (Compose g v) -> DMapV (k :: * -> *) (v :: * -> *) g
+ Data.Vessel.DependentMap: DMapV :: MonoidalDMap k (Compose g v) -> DMapV g
- Data.Vessel.DependentMap: [unDMapV] :: DMapV (k :: * -> *) (v :: * -> *) g -> MonoidalDMap k (Compose g v)
+ Data.Vessel.DependentMap: [unDMapV] :: DMapV g -> MonoidalDMap k (Compose g v)
- Data.Vessel.Identity: IdentityV :: g a -> IdentityV (a :: *) (g :: * -> *)
+ Data.Vessel.Identity: IdentityV :: g a -> IdentityV
- Data.Vessel.Identity: [unIdentityV] :: IdentityV (a :: *) (g :: * -> *) -> g a
+ Data.Vessel.Identity: [unIdentityV] :: IdentityV -> g a
- Data.Vessel.Internal: (:~>) :: k v -> v g -> VSum (k :: ((* -> *) -> *) -> *) (g :: * -> *)
+ Data.Vessel.Internal: (:~>) :: k v -> v g -> VSum
- Data.Vessel.Internal: FlipAp :: v g -> FlipAp (g :: k) (v :: k -> *)
+ Data.Vessel.Internal: FlipAp :: v g -> FlipAp
- Data.Vessel.Internal: NoneD :: PivotD (k :: l -> *) (g :: l -> *)
+ Data.Vessel.Internal: NoneD :: PivotD
- Data.Vessel.Internal: OneD :: k v -> g v -> PivotD (k :: l -> *) (g :: l -> *)
+ Data.Vessel.Internal: OneD :: k v -> g v -> PivotD
- Data.Vessel.Internal: SplitD :: k v -> DMap k g -> DMap k g -> PivotD (k :: l -> *) (g :: l -> *)
+ Data.Vessel.Internal: SplitD :: k v -> DMap k g -> DMap k g -> PivotD
- Data.Vessel.Internal: [unFlipAp] :: FlipAp (g :: k) (v :: k -> *) -> v g
+ Data.Vessel.Internal: [unFlipAp] :: FlipAp -> v g
- Data.Vessel.Single: SingleV :: g (First (Maybe a)) -> SingleV (a :: *) (g :: * -> *)
+ Data.Vessel.Single: SingleV :: g (First (Maybe a)) -> SingleV
- Data.Vessel.Single: [unSingleV] :: SingleV (a :: *) (g :: * -> *) -> g (First (Maybe a))
+ Data.Vessel.Single: [unSingleV] :: SingleV -> g (First (Maybe a))
- Data.Vessel.SubVessel: SubVessel :: Vessel (SubVesselKey k v) f -> SubVessel (k :: *) (v :: (* -> *) -> *) (f :: * -> *)
+ Data.Vessel.SubVessel: SubVessel :: Vessel (SubVesselKey k v) f -> SubVessel
- Data.Vessel.SubVessel: [unSubVessel] :: SubVessel (k :: *) (v :: (* -> *) -> *) (f :: * -> *) -> Vessel (SubVesselKey k v) f
+ Data.Vessel.SubVessel: [unSubVessel] :: SubVessel -> Vessel (SubVesselKey k v) f
- Data.Vessel.Vessel: Vessel :: MonoidalDMap k (FlipAp g) -> Vessel (k :: ((* -> *) -> *) -> *) (g :: * -> *)
+ Data.Vessel.Vessel: Vessel :: MonoidalDMap k (FlipAp g) -> Vessel
- Data.Vessel.Vessel: [unVessel] :: Vessel (k :: ((* -> *) -> *) -> *) (g :: * -> *) -> MonoidalDMap k (FlipAp g)
+ Data.Vessel.Vessel: [unVessel] :: Vessel -> MonoidalDMap k (FlipAp g)
Files
- ChangeLog.md +4/−0
- README.md +1/−1
- src/Data/Vessel/Internal.hs +2/−0
- vessel.cabal +20/−17
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for vessel +## 0.2.0.0++* Add an orphan instance for 'Additive' of 'Compose' this is in line with the other orphans for 'Compose' that will be phased out in a future release in favor of an upstream solution.+ ## 0.1.0.0 * Initial release
README.md view
@@ -1,7 +1,7 @@ # vessel: functor-parametric containers [](https://haskell.org) [](https://hackage.haskell.org/package/vessel) [](https://matrix.hackage.haskell.org/#/package/vessel) [](https://github.com/obsidiansystems/vessel/actions) [](https://github.com/obsidiansystems/vessel/blob/master/LICENSE) -See the [tutorial](tutorial/Tutorial.md) for a worked example of how to use this library.+See the [tutorial](https://github.com/obsidiansystems/vessel/blob/develop/tutorial/Tutorial.md) for a worked example of how to use this library. ***
src/Data/Vessel/Internal.hs view
@@ -96,6 +96,8 @@ mempty = Compose mempty mappend (Compose x) (Compose y) = Compose (mappend x y) +instance (Additive (f (g a))) => Additive (Compose f g a)+ ------- Miscellaneous stuff to be moved elsewhere ------- -- TODO: These belong in Data.Functor.Compose -- good luck to anyone who wants to upstream them into base though.
vessel.cabal view
@@ -1,5 +1,5 @@ name: vessel-version: 0.1.0.0+version: 0.2.0.0 description: A dependently-typed key-value data structure that allows for storage of both "queries", (wherein keys are stored along with reasons for selecting the items or counts of the number of times something has been selected), as well as the responses to those queries, in which the type of the key additionally determines the type of the response @@ -9,6 +9,7 @@ maintainer: maintainer@obsidian.systems copyright: Obsidian Systems LLC build-type: Simple+extra-doc-files: tutorial/Tutorial.md extra-source-files: ChangeLog.md README.md@@ -46,20 +47,20 @@ build-depends: aeson >=1.4 && <1.6 , base >=4.9 && <4.15- , bifunctors >=5.5 && <5.6+ , bifunctors ^>=5.5 , constraints >=0.10 && <0.15- , constraints-extras >=0.3 && <0.4- , containers >=0.6 && <0.7- , dependent-map >=0.4 && <0.5- , dependent-monoidal-map >=0.1.1.0 && <0.2- , dependent-sum >=0.7 && <0.8- , dependent-sum-aeson-orphans >=0.3 && <0.4- , monoidal-containers >=0.6 && <0.7- , mtl >=2.2 && <2.3- , patch >=0.0.4.0 && <0.1+ , constraints-extras ^>=0.3+ , containers ^>=0.6+ , dependent-map ^>=0.4+ , dependent-monoidal-map ^>=0.1.1.0+ , dependent-sum ^>=0.7+ , dependent-sum-aeson-orphans ^>=0.3+ , monoidal-containers ^>=0.6+ , mtl ^>=2.2+ , patch ^>=0.0.4.0 , reflex >=0.6.4 && <0.9 , semialign >=1- , these >=1 && <1.1+ , these ^>=1 , witherable >=0.2 && <=0.3.2 hs-source-dirs: src@@ -68,9 +69,10 @@ library vessel-tutorial if impl(ghcjs) buildable: False- hs-source-dirs: tutorial- exposed-modules: Tutorial- default-language: Haskell2010++ hs-source-dirs: tutorial+ exposed-modules: Tutorial+ default-language: Haskell2010 default-extensions: ConstraintKinds FlexibleContexts@@ -89,8 +91,9 @@ TemplateHaskell TypeFamilies UndecidableInstances- ghc-options: -Wall -pgmL markdown-unlit- build-tool-depends: markdown-unlit:markdown-unlit++ ghc-options: -Wall -pgmL markdown-unlit+ build-tool-depends: markdown-unlit:markdown-unlit -any build-depends: aeson , aeson-gadt-th