Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype Replicator r f a b = Replicator (r -> f b)
- replicateT :: Default (Replicator r f) b b => r -> f b
- newtype Take a z b = Take ([a] -> Maybe ([a], b))
- takeT :: Default (Take a) b b => [a] -> Maybe b
- newtype Traverse f a b = Traverse {
- runTraverse :: a -> f b
- traverseT :: Default (Traverse f) a b => a -> f b
- type Sequence = Traverse
- sequenceT :: Default (Sequence f) a b => a -> f b
- newtype Zipper a b = Zipper {}
- cl_map :: Default Zipper a b => (b -> r) -> a -> [r]
Documentation
newtype Replicator r f a b Source #
Replicator (r -> f b) |
Instances
replicateT :: Default (Replicator r f) b b => r -> f b Source #
A higher-order generalisation of replicate
. For
example
foo :: IO (String, String, String) foo = replicateT getLine
> foo Hello world ! ("Hello","world","!")
Instances
Profunctor (Take a) Source # | |
Defined in Data.Profunctor.Product.Examples | |
ProductProfunctor (Take a) Source # | |
Default (Take a) z a Source # | |
Defined in Data.Profunctor.Product.Examples | |
Functor (Take a z) Source # | |
Applicative (Take a z) Source # | |
takeT :: Default (Take a) b b => [a] -> Maybe b Source #
A type safe generalisation of take
. For example
> let count = [1..] :: [Int] > takeT count :: Maybe (Int, Int) Just (1,2) > takeT count :: Maybe (Int, Int, (Int, (Int, Int), Int, Int), Const Int Bool, Identity (Int, Int), Tagged String Int) Just (1,2,(3,(4,5),6,7),Const 8,Identity (9,10),Tagged 11)
newtype Traverse f a b Source #
Traverse | |
|
Instances
Functor f => Profunctor (Traverse f) Source # | |
Defined in Data.Profunctor.Product.Examples dimap :: (a -> b) -> (c -> d) -> Traverse f b c -> Traverse f a d # lmap :: (a -> b) -> Traverse f b c -> Traverse f a c # rmap :: (b -> c) -> Traverse f a b -> Traverse f a c # (#.) :: Coercible c b => q b c -> Traverse f a b -> Traverse f a c # (.#) :: Coercible b a => Traverse f b c -> q a b -> Traverse f a c # | |
Applicative f => ProductProfunctor (Traverse f) Source # | |
Default (Traverse f) (f a) a Source # | |
Defined in Data.Profunctor.Product.Examples | |
Functor f => Functor (Traverse f a) Source # | |
Applicative f => Applicative (Traverse f a) Source # | |
Defined in Data.Profunctor.Product.Examples pure :: a0 -> Traverse f a a0 # (<*>) :: Traverse f a (a0 -> b) -> Traverse f a a0 -> Traverse f a b # liftA2 :: (a0 -> b -> c) -> Traverse f a a0 -> Traverse f a b -> Traverse f a c # (*>) :: Traverse f a a0 -> Traverse f a b -> Traverse f a b # (<*) :: Traverse f a a0 -> Traverse f a b -> Traverse f a a0 # |
traverseT :: Default (Traverse f) a b => a -> f b Source #
Use sequenceT
instead. It has a better name.
Instances
Profunctor Zipper Source # | |
Defined in Data.Profunctor.Product.Examples | |
ProductProfunctor Zipper Source # | |
a ~ b => Default Zipper [a] b Source # | |
Defined in Data.Profunctor.Product.Examples | |
Functor (Zipper a) Source # | |
Applicative (Zipper a) Source # | |