container 1.0.1 → 1.0.2
raw patch · 3 files changed
+26/−22 lines, 3 filesdep ~lensdep ~textdep ~vectorPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: lens, text, vector
API changes (from Hackage documentation)
- Data.Container.Auto: Auto :: (Reusable idx (Resizable style a)) -> Auto idx style a
- Data.Container.Auto: instance (Data.Container.Class.HasContainer a, Data.Container.List.ToList (Data.Container.Class.Container a)) => Data.Container.List.ToList (Data.Container.Auto.Auto idx s a)
- Data.Container.Auto: instance (Data.Container.Class.IsContainer a, Data.Container.List.FromList (Data.Container.Class.Container a), Data.Default.Class.Default style) => Data.Container.List.FromList (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance (Data.Default.Class.Default style, Data.Default.Class.Default a) => Data.Default.Class.Default (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance (GHC.Base.Monoid style, GHC.Base.Monoid a) => GHC.Base.Monoid (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance Control.Lens.Wrapped.Wrapped (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance Data.Foldable.Foldable (Data.Container.Auto.Auto idx style)
- Data.Container.Auto: instance Data.Layer.Layered (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance Data.Traversable.Traversable (Data.Container.Auto.Auto idx style)
- Data.Container.Auto: instance GHC.Base.Functor (Data.Container.Auto.Auto idx style)
- Data.Container.Auto: instance GHC.Base.Monad m => Data.Container.Class.HasContainerM m (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance GHC.Base.Monad m => Data.Container.Class.IsContainerM m (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance GHC.Base.Monad m => Data.Layer.LayeredM m (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: instance GHC.Show.Show (Data.Container.Reusable.Reusable idx (Data.Container.Resizable.Resizable style a)) => GHC.Show.Show (Data.Container.Auto.Auto idx style a)
- Data.Container.Auto: newtype Auto idx style a
- Data.Container.Auto: type Auto' style a = Auto (Index (Container a)) style a
+ Data.Container.Auto: IxedAuto :: (Reusable idx (Resizable style a)) -> IxedAuto idx style a
+ Data.Container.Auto: instance (Data.Container.Class.HasContainer a, Data.Container.List.ToList (Data.Container.Class.Container a)) => Data.Container.List.ToList (Data.Container.Auto.IxedAuto idx s a)
+ Data.Container.Auto: instance (Data.Container.Class.IsContainer a, Data.Container.List.FromList (Data.Container.Class.Container a), Data.Default.Class.Default style) => Data.Container.List.FromList (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance (Data.Default.Class.Default style, Data.Default.Class.Default a) => Data.Default.Class.Default (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance (GHC.Base.Monoid style, GHC.Base.Monoid a) => GHC.Base.Monoid (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance Control.Lens.Wrapped.Wrapped (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance Data.Foldable.Foldable (Data.Container.Auto.IxedAuto idx style)
+ Data.Container.Auto: instance Data.Layer.Layered (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance Data.Traversable.Traversable (Data.Container.Auto.IxedAuto idx style)
+ Data.Container.Auto: instance GHC.Base.Functor (Data.Container.Auto.IxedAuto idx style)
+ Data.Container.Auto: instance GHC.Base.Monad m => Data.Container.Class.HasContainerM m (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance GHC.Base.Monad m => Data.Container.Class.IsContainerM m (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance GHC.Base.Monad m => Data.Layer.LayeredM m (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: instance GHC.Show.Show (Data.Container.Reusable.Reusable idx (Data.Container.Resizable.Resizable style a)) => GHC.Show.Show (Data.Container.Auto.IxedAuto idx style a)
+ Data.Container.Auto: newtype IxedAuto idx style a
+ Data.Container.Auto: type Auto style a = IxedAuto (Index (Container a)) style a
+ Data.Container.Class: rawAdd :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> (t, Result_ AddableOp (ElInfo el (Container t)) ms)) c, AddableQM ms ps Identity el t) => c
Files
- container.cabal +4/−4
- src/Data/Container/Auto.hs +18/−18
- src/Data/Container/Class.hs +4/−0
container.cabal view
@@ -1,5 +1,5 @@ name: container-version: 1.0.1+version: 1.0.2 cabal-version: >=1.10 build-type: Simple license: Apache-2.0@@ -38,15 +38,15 @@ data-default >=0.5.3, data-layer >=1.0.1, functor-utils >=1.0,- lens >=4.12.3,+ lens >=4.13, lens-utils >=1.0, mtl >=2.2.1, template-haskell >=2.10.0.0, transformers >=0.4.2.0, transformers-base >=0.4.4, typelevel >=1.0.2,- vector >=0.10.12.3,- text >=1.2.1.3+ vector >=0.11.0.0,+ text >=1.2.2.0 default-language: Haskell2010 default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric
src/Data/Container/Auto.hs view
@@ -18,33 +18,33 @@ #define AUTO (Reusable idx (Resizable style a)) -newtype Auto idx style a = Auto AUTO deriving (Functor, Traversable, Foldable, Monoid, Default)-type Auto' style a = Auto (Index (Container a)) style a+newtype IxedAuto idx style a = IxedAuto AUTO deriving (Functor, Traversable, Foldable, Monoid, Default)+type Auto style a = IxedAuto (Index (Container a)) style a -deriving instance (IsContainer a, FromList (Container a), Default style) => FromList (Auto idx style a)+deriving instance (IsContainer a, FromList (Container a), Default style) => FromList (IxedAuto idx style a) -type instance Index (Auto idx style a) = Index AUTO-type instance Item (Auto idx style a) = Item AUTO+type instance Index (IxedAuto idx style a) = Index AUTO+type instance Item (IxedAuto idx style a) = Item AUTO -type instance DataStore (Auto idx style a) = DataStore AUTO-type instance Container (Auto idx style a) = Container AUTO-instance Monad m => IsContainerM m (Auto idx style a) where fromContainerM = fmap Auto . fromContainerM-instance Monad m => HasContainerM m (Auto idx style a) where viewContainerM = viewContainerM . view layered- setContainerM = layered . setContainerM+type instance DataStore (IxedAuto idx style a) = DataStore AUTO+type instance Container (IxedAuto idx style a) = Container AUTO+instance Monad m => IsContainerM m (IxedAuto idx style a) where fromContainerM = fmap IxedAuto . fromContainerM+instance Monad m => HasContainerM m (IxedAuto idx style a) where viewContainerM = viewContainerM . view layered+ setContainerM = layered . setContainerM -instance (HasContainer a, ToList (Container a)) => ToList (Auto idx s a) where toList = toList . unwrap'+instance (HasContainer a, ToList (Container a)) => ToList (IxedAuto idx s a) where toList = toList . unwrap' -- Wrappers & layers -type instance Unlayered (Auto idx style a) = AUTO-instance Layered (Auto idx style a)-instance Monad m => LayeredM m (Auto idx style a)-instance Wrapped (Auto idx style a) where- type Unwrapped (Auto idx style a) = AUTO- _Wrapped' = iso (\(Auto a) -> a) Auto+type instance Unlayered (IxedAuto idx style a) = AUTO+instance Layered (IxedAuto idx style a)+instance Monad m => LayeredM m (IxedAuto idx style a)+instance Wrapped (IxedAuto idx style a) where+ type Unwrapped (IxedAuto idx style a) = AUTO+ _Wrapped' = iso (\(IxedAuto a) -> a) IxedAuto -deriving instance Show AUTO => Show (Auto idx style a)+deriving instance Show AUTO => Show (IxedAuto idx style a) --instance Show a => Show (Auto idx style a) where -- showsPrec d (Auto a) = showParen (d > app_prec) $
src/Data/Container/Class.hs view
@@ -38,6 +38,9 @@ type family Container a type family Item a ++--type Item a = Item (Index a)+ -- | Points to the real structure handling the data. Used mainly internally. type family DataStore a @@ -314,6 +317,7 @@ addM' = queryBuilder addQM add' = withTransFunc (fmap3 runIdentity) addM'+rawAdd = withTransFunc (fmap3 resToRTup) add' -- FIXME[WD] - we should remove Res datatype and implement it just as 2 elems tuple. This will allow us to create prefix "raw" which will reuslt just in tuple. addM = queryBuilder $ fmap formatResult .:. addQM add = withTransFunc (fmap3 runIdentity) addM add_ = withTransFunc (fmap3 res_) add'