Hoogle Search
Within LTS Haskell 24.37 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
class ProfunctorFunctor t =>
ProfunctorComonad (t :: Type -> Type -> Type -> Type -> Type -> Type)profunctors Data.Profunctor.Monad Laws:
proextract . promap f ≡ f . proextract proextract . produplicate ≡ id promap proextract . produplicate ≡ id produplicate . produplicate ≡ promap produplicate . produplicate
class
ProfunctorFunctor (t :: Type -> Type -> Type -> k -> k1 -> Type)profunctors Data.Profunctor.Monad ProfunctorFunctor has a polymorphic kind since 5.6.
class ProfunctorFunctor t =>
ProfunctorMonad (t :: Type -> Type -> Type -> Type -> Type -> Type)profunctors Data.Profunctor.Monad Laws:
promap f . proreturn ≡ proreturn . f projoin . proreturn ≡ id projoin . promap proreturn ≡ id projoin . projoin ≡ projoin . promap projoin
data
Prep (p :: Type -> k -> Type) (a :: k)profunctors Data.Profunctor.Rep Prep -| Star :: [Hask, Hask] -> Prof
This gives rise to a monad in Prof, (Star.Prep), and a comonad in [Hask,Hask] (Prep.Star) Prep has a polymorphic kind since 5.6.data
Pastro (p :: Type -> Type -> Type) a bprofunctors Data.Profunctor.Strong Pastro -| Tambara
Pastro p ~ exists z. Costar ((,)z) Procompose p Procompose Star ((,)z)
Pastro freely makes any Profunctor Strong.-
profunctors Data.Profunctor.Strong No documentation available.
class
Profunctor (p :: Type -> Type -> Type)profunctors Data.Profunctor.Types Formally, the class Profunctor represents a profunctor from Hask -> Hask. Intuitively it is a bifunctor where the first argument is contravariant and the second argument is covariant. You can define a Profunctor by either defining dimap or by defining both lmap and rmap. If you supply dimap, you should ensure that:
dimap id id ≡ id
If you supply lmap and rmap, ensure:lmap id ≡ id rmap id ≡ id
If you supply both, you should also ensure:dimap f g ≡ lmap f . rmap g
These ensure by parametricity:dimap (f . g) (h . i) ≡ dimap g h . dimap f i lmap (f . g) ≡ lmap g . lmap f rmap (f . g) ≡ rmap f . rmap g
class
Profunctor (p :: Type -> Type -> Type)profunctors Data.Profunctor.Unsafe Formally, the class Profunctor represents a profunctor from Hask -> Hask. Intuitively it is a bifunctor where the first argument is contravariant and the second argument is covariant. You can define a Profunctor by either defining dimap or by defining both lmap and rmap. If you supply dimap, you should ensure that:
dimap id id ≡ id
If you supply lmap and rmap, ensure:lmap id ≡ id rmap id ≡ id
If you supply both, you should also ensure:dimap f g ≡ lmap f . rmap g
These ensure by parametricity:dimap (f . g) (h . i) ≡ dimap g h . dimap f i lmap (f . g) ≡ lmap g . lmap f rmap (f . g) ≡ rmap f . rmap g
-
blaze-builder Blaze.ByteString.Builder.Internal.Write Changing a sequence of bytes starting from the given pointer. Pokes are the most primitive buffer manipulation. In most cases, you don't use the explicitly but as part of a Write, which also tells how many bytes will be changed at most.
Poke :: (Ptr Word8 -> IO (Ptr Word8)) -> Pokeblaze-builder Blaze.ByteString.Builder.Internal.Write No documentation available.