haskus-utils-data 1.1 → 1.1.1
raw patch · 2 files changed
+42/−36 lines, 2 filesdep ~containersdep ~extradep ~mtlPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: containers, extra, mtl, recursion-schemes, transformers
API changes (from Hackage documentation)
- Haskus.Utils.HList: instance ((x, y) ~ z, Haskus.Utils.HList.HZipList xs ys zs) => Haskus.Utils.HList.HZipList (x : xs) (y : ys) (z : zs)
- Haskus.Utils.HList: instance (v ~ v') => Haskus.Utils.HList.HFoldr f v '[] v'
- Haskus.Utils.HList: instance (v ~ v') => Haskus.Utils.HList.HFoldr' f v '[] v'
- Haskus.Utils.HList: instance (z ~ z') => Haskus.Utils.HList.HFoldl f z '[] z'
- Haskus.Utils.HList: instance (z ~ z') => Haskus.Utils.HList.HFoldl' f z '[] z'
- Haskus.Utils.HList: instance (zx ~ (z, x), Haskus.Utils.HList.Apply f zx z', Haskus.Utils.HList.HFoldl f z' xs r) => Haskus.Utils.HList.HFoldl f z (x : xs) r
- Haskus.Utils.HList: instance (zx ~ (z, x), Haskus.Utils.HList.Apply f zx z', Haskus.Utils.HList.HFoldl' f z' xs r) => Haskus.Utils.HList.HFoldl' f z (x : xs) r
+ Haskus.Utils.Functor: Fix :: f (Fix f) -> Fix
+ Haskus.Utils.Functor: Mu :: (forall a. () => (f a -> a) -> a) -> Mu
+ Haskus.Utils.Functor: [Nu] :: forall (f :: Type -> Type) a. () => (a -> f a) -> a -> Nu f
+ Haskus.Utils.Functor: ana :: Corecursive t => (a -> Base t a) -> a -> t
+ Haskus.Utils.Functor: apo :: Corecursive t => (a -> Base t (Either t a)) -> a -> t
+ Haskus.Utils.Functor: cata :: Recursive t => (Base t a -> a) -> t -> a
+ Haskus.Utils.Functor: cataA :: Recursive t => (Base t (f a) -> f a) -> t -> f a
+ Haskus.Utils.Functor: chrono :: Functor f => (f (Cofree f b) -> b) -> (a -> f (Free f a)) -> a -> b
+ Haskus.Utils.Functor: class Functor Base t => Corecursive t
+ Haskus.Utils.Functor: class Functor Base t => Recursive t
+ Haskus.Utils.Functor: coelgot :: Functor f => ((a, f b) -> b) -> (a -> f a) -> a -> b
+ Haskus.Utils.Functor: data Nu (f :: Type -> Type)
+ Haskus.Utils.Functor: distAna :: Functor f => Identity (f a) -> f (Identity a)
+ Haskus.Utils.Functor: distApo :: Recursive t => Either t (Base t a) -> Base t (Either t a)
+ Haskus.Utils.Functor: distCata :: Functor f => f (Identity a) -> Identity (f a)
+ Haskus.Utils.Functor: distFutu :: Functor f => Free f (f a) -> f (Free f a)
+ Haskus.Utils.Functor: distGApo :: Functor f => (b -> f b) -> Either b (f a) -> f (Either b a)
+ Haskus.Utils.Functor: distGApoT :: (Functor f, Functor m) => (b -> f b) -> (forall c. () => m (f c) -> f (m c)) -> ExceptT b m (f a) -> f (ExceptT b m a)
+ Haskus.Utils.Functor: distGFutu :: (Functor f, Functor h) => (forall b. () => h (f b) -> f (h b)) -> FreeT f h (f a) -> f (FreeT f h a)
+ Haskus.Utils.Functor: distGHisto :: (Functor f, Functor h) => (forall b. () => f (h b) -> h (f b)) -> f (CofreeT f h a) -> CofreeT f h (f a)
+ Haskus.Utils.Functor: distHisto :: Functor f => f (Cofree f a) -> Cofree f (f a)
+ Haskus.Utils.Functor: distPara :: Corecursive t => Base t (t, a) -> (t, Base t a)
+ Haskus.Utils.Functor: distParaT :: (Corecursive t, Comonad w) => (forall b. () => Base t (w b) -> w (Base t b)) -> Base t (EnvT t w a) -> EnvT t w (Base t a)
+ Haskus.Utils.Functor: distZygo :: Functor f => (f b -> b) -> f (b, a) -> (b, f a)
+ Haskus.Utils.Functor: distZygoT :: (Functor f, Comonad w) => (f b -> b) -> (forall c. () => f (w c) -> w (f c)) -> f (EnvT b w a) -> EnvT b w (f a)
+ Haskus.Utils.Functor: elgot :: Functor f => (f a -> a) -> (b -> Either a (f b)) -> b -> a
+ Haskus.Utils.Functor: embed :: Corecursive t => Base t t -> t
+ Haskus.Utils.Functor: fold :: Recursive t => (Base t a -> a) -> t -> a
+ Haskus.Utils.Functor: futu :: Corecursive t => (a -> Base t (Free (Base t) a)) -> a -> t
+ Haskus.Utils.Functor: gana :: (Corecursive t, Monad m) => (forall b. () => m (Base t b) -> Base t (m b)) -> (a -> Base t (m a)) -> a -> t
+ Haskus.Utils.Functor: gapo :: Corecursive t => (b -> Base t b) -> (a -> Base t (Either b a)) -> a -> t
+ Haskus.Utils.Functor: gcata :: (Recursive t, Comonad w) => (forall b. () => Base t (w b) -> w (Base t b)) -> (Base t (w a) -> a) -> t -> a
+ Haskus.Utils.Functor: gchrono :: (Functor f, Functor w, Functor m, Comonad w, Monad m) => (forall c. () => f (w c) -> w (f c)) -> (forall c. () => m (f c) -> f (m c)) -> (f (CofreeT f w b) -> b) -> (a -> f (FreeT f m a)) -> a -> b
+ Haskus.Utils.Functor: gfold :: (Recursive t, Comonad w) => (forall b. () => Base t (w b) -> w (Base t b)) -> (Base t (w a) -> a) -> t -> a
+ Haskus.Utils.Functor: gfutu :: (Corecursive t, Functor m, Monad m) => (forall b. () => m (Base t b) -> Base t (m b)) -> (a -> Base t (FreeT (Base t) m a)) -> a -> t
+ Haskus.Utils.Functor: ghisto :: (Recursive t, Comonad w) => (forall b. () => Base t (w b) -> w (Base t b)) -> (Base t (CofreeT (Base t) w a) -> a) -> t -> a
+ Haskus.Utils.Functor: ghylo :: (Comonad w, Functor f, Monad m) => (forall c. () => f (w c) -> w (f c)) -> (forall d. () => m (f d) -> f (m d)) -> (f (w b) -> b) -> (a -> f (m a)) -> a -> b
+ Haskus.Utils.Functor: gpara :: (Recursive t, Corecursive t, Comonad w) => (forall b. () => Base t (w b) -> w (Base t b)) -> (Base t (EnvT t w a) -> a) -> t -> a
+ Haskus.Utils.Functor: gpostpro :: (Corecursive t, Recursive t, Monad m) => (forall b. () => m (Base t b) -> Base t (m b)) -> (forall c. () => Base t c -> Base t c) -> (a -> Base t (m a)) -> a -> t
+ Haskus.Utils.Functor: gprepro :: (Recursive t, Corecursive t, Comonad w) => (forall b. () => Base t (w b) -> w (Base t b)) -> (forall c. () => Base t c -> Base t c) -> (Base t (w a) -> a) -> t -> a
+ Haskus.Utils.Functor: grefold :: (Comonad w, Functor f, Monad m) => (forall c. () => f (w c) -> w (f c)) -> (forall d. () => m (f d) -> f (m d)) -> (f (w b) -> b) -> (a -> f (m a)) -> a -> b
+ Haskus.Utils.Functor: gunfold :: (Corecursive t, Monad m) => (forall b. () => m (Base t b) -> Base t (m b)) -> (a -> Base t (m a)) -> a -> t
+ Haskus.Utils.Functor: gzygo :: (Recursive t, Comonad w) => (Base t b -> b) -> (forall c. () => Base t (w c) -> w (Base t c)) -> (Base t (EnvT b w a) -> a) -> t -> a
+ Haskus.Utils.Functor: histo :: Recursive t => (Base t (Cofree (Base t) a) -> a) -> t -> a
+ Haskus.Utils.Functor: hoist :: (Recursive s, Corecursive t) => (forall a. () => Base s a -> Base t a) -> s -> t
+ Haskus.Utils.Functor: hoistMu :: () => (forall a. () => f a -> g a) -> Mu f -> Mu g
+ Haskus.Utils.Functor: hoistNu :: () => (forall a. () => f a -> g a) -> Nu f -> Nu g
+ Haskus.Utils.Functor: hylo :: Functor f => (f b -> b) -> (a -> f a) -> a -> b
+ Haskus.Utils.Functor: mcata :: () => (forall y. () => (y -> c) -> f y -> c) -> Fix f -> c
+ Haskus.Utils.Functor: mhisto :: () => (forall y. () => (y -> c) -> (y -> f y) -> f y -> c) -> Fix f -> c
+ Haskus.Utils.Functor: newtype Fix (f :: Type -> Type)
+ Haskus.Utils.Functor: newtype Mu (f :: Type -> Type)
+ Haskus.Utils.Functor: para :: Recursive t => (Base t (t, a) -> a) -> t -> a
+ Haskus.Utils.Functor: postpro :: (Corecursive t, Recursive t) => (forall b. () => Base t b -> Base t b) -> (a -> Base t a) -> a -> t
+ Haskus.Utils.Functor: prepro :: (Recursive t, Corecursive t) => (forall b. () => Base t b -> Base t b) -> (Base t a -> a) -> t -> a
+ Haskus.Utils.Functor: project :: Recursive t => t -> Base t t
+ Haskus.Utils.Functor: refix :: (Recursive s, Corecursive t, Base s ~ Base t) => s -> t
+ Haskus.Utils.Functor: refold :: Functor f => (f b -> b) -> (a -> f a) -> a -> b
+ Haskus.Utils.Functor: transverse :: (Recursive s, Corecursive t, Functor f) => (forall a. () => Base s (f a) -> f (Base t a)) -> s -> f t
+ Haskus.Utils.Functor: type family Base t :: Type -> Type
+ Haskus.Utils.Functor: unfix :: () => Fix f -> f (Fix f)
+ Haskus.Utils.Functor: unfold :: Corecursive t => (a -> Base t a) -> a -> t
+ Haskus.Utils.Functor: zygo :: Recursive t => (Base t b -> b) -> (Base t (b, a) -> a) -> t -> a
+ Haskus.Utils.Functor: zygoHistoPrepro :: (Corecursive t, Recursive t) => (Base t b -> b) -> (forall c. () => Base t c -> Base t c) -> (Base t (EnvT b (Cofree (Base t)) a) -> a) -> t -> a
+ Haskus.Utils.HList: data family HList (l :: [*])
+ Haskus.Utils.HList: infixr 2 `HCons`
+ Haskus.Utils.HList: instance ((x, y) Data.Type.Equality.~ z, Haskus.Utils.HList.HZipList xs ys zs) => Haskus.Utils.HList.HZipList (x : xs) (y : ys) (z : zs)
+ Haskus.Utils.HList: instance (v Data.Type.Equality.~ v') => Haskus.Utils.HList.HFoldr f v '[] v'
+ Haskus.Utils.HList: instance (v Data.Type.Equality.~ v') => Haskus.Utils.HList.HFoldr' f v '[] v'
+ Haskus.Utils.HList: instance (z Data.Type.Equality.~ z') => Haskus.Utils.HList.HFoldl f z '[] z'
+ Haskus.Utils.HList: instance (z Data.Type.Equality.~ z') => Haskus.Utils.HList.HFoldl' f z '[] z'
+ Haskus.Utils.HList: instance (zx Data.Type.Equality.~ (z, x), Haskus.Utils.HList.Apply f zx z', Haskus.Utils.HList.HFoldl f z' xs r) => Haskus.Utils.HList.HFoldl f z (x : xs) r
+ Haskus.Utils.HList: instance (zx Data.Type.Equality.~ (z, x), Haskus.Utils.HList.Apply f zx z', Haskus.Utils.HList.HFoldl' f z' xs r) => Haskus.Utils.HList.HFoldl' f z (x : xs) r
+ Haskus.Utils.Tuple: type family ListToTuple (t :: [k]) :: k
- Haskus.Utils.HList: hLength :: forall xs. (KnownNat (Length xs)) => HList xs -> Word
+ Haskus.Utils.HList: hLength :: forall xs. KnownNat (Length xs) => HList xs -> Word
Files
- haskus-utils-data.cabal +41/−35
- src/lib/Haskus/Utils/Functor.hs +1/−1
haskus-utils-data.cabal view
@@ -1,40 +1,46 @@-cabal-version: >=1.20-name: haskus-utils-data-version: 1.1-license: BSD3-license-file: LICENSE-copyright: Sylvain Henry 2018-maintainer: sylvain@haskus.fr-author: Sylvain Henry-homepage: http://www.haskus.org-synopsis: Haskus utility modules+name: haskus-utils-data+version: 1.1.1+synopsis: Haskus utility modules+license: BSD3+license-file: LICENSE+author: Sylvain Henry+maintainer: sylvain@haskus.fr+homepage: http://www.haskus.org+copyright: Sylvain Henry 2018+category: System+build-type: Simple+cabal-version: >=1.20+ description:- Haskus data utility modules-category: System-build-type: Simple+ Haskus data utility modules source-repository head- type: git- location: git://github.com/haskus/haskus-utils.git+ type: git+ location: git://github.com/haskus/haskus-utils.git library- exposed-modules:- Haskus.Utils.Monad- Haskus.Utils.HList- Haskus.Utils.Functor- Haskus.Utils.List- Haskus.Utils.Map- Haskus.Utils.Map.Strict- Haskus.Utils.Maybe- Haskus.Utils.Tuple- hs-source-dirs: src/lib- default-language: Haskell2010- ghc-options: -Wall- build-depends:- base >=4.9 && <4.12,- haskus-utils-types ==1.1.*,- extra >=1.4 && <1.7,- recursion-schemes ==5.0.*,- containers ==0.5.*,- mtl ==2.2.*,- transformers >=0.4 && <0.6+ exposed-modules:+ Haskus.Utils.Monad+ Haskus.Utils.HList+ Haskus.Utils.Functor+ Haskus.Utils.List+ Haskus.Utils.Map+ Haskus.Utils.Map.Strict+ Haskus.Utils.Maybe+ Haskus.Utils.Tuple++ other-modules:++ build-depends: + base >= 4.9 && < 5+ , haskus-utils-types >= 1.1+ , extra >= 1.4+ , recursion-schemes >= 5.0+ , containers >= 0.5+ , mtl >= 2.2+ , transformers >= 0.4++ build-tools: + ghc-options: -Wall+ default-language: Haskell2010+ hs-source-dirs: src/lib
src/lib/Haskus/Utils/Functor.hs view
@@ -4,4 +4,4 @@ ) where -import Data.Functor.Foldable+import Data.Functor.Foldable hiding (ListF(..))