| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Profunctor.Instance.Fix
Description
Synopsis
- data Fix (p :: k +-> k) (a :: k) (b :: k) where
- hylo :: forall {k} {k1} (p :: k +-> k) (a :: k1 +-> k) (b :: k1 +-> k). (Profunctor p, Profunctor a, Profunctor b) => ((p :.: b) :~> b) -> (a :~> (p :.: a)) -> a :~> b
- cata :: forall {k1} (p :: k1 +-> k1) (r :: k1 +-> k1). (Profunctor p, Profunctor r) => ((p :.: r) :~> r) -> Fix p :~> r
- ana :: forall {k1} (p :: k1 +-> k1) (r :: k1 +-> k1). (Profunctor p, Profunctor r) => (r :~> (p :.: r)) -> r :~> Fix p
- data ListF x l
- embed :: ListF x [x] -> [x]
- project :: [x] -> ListF x [x]
- embed' :: forall {k1} x a (b :: k1). (Star (ListF x) :.: Star (Const [x] :: k1 -> Type)) a b -> Star (Const [x] :: k1 -> Type) a b
- project' :: forall {k1} x a (b :: k1). Star (Const [x] :: k1 -> Type) a b -> (Star (ListF x) :.: Star (Const [x] :: k1 -> Type)) a b
- toList :: Fix (Star (ListF x)) a b -> Star (Const [x] :: Type -> Type) a b
- fromList :: Star (Const [x] :: Type -> Type) a b -> Fix (Star (ListF x)) a b
Documentation
data Fix (p :: k +-> k) (a :: k) (b :: k) where Source Github #
The fixed point of a profunctor: is Fix pp rolled up (:.: Fix pIn/out). Fold it
with cata, unfold it with ana, or both at once with hylo.
Constructors
| In | |
Instances
| Strong t p => Strong (t :: (m, k) +-> k) (Fix p :: k -> k -> Type) Source Github # | |
| MonoidalProfunctor p => MonoidalProfunctor (Fix p :: j -> j -> Type) Source Github # | |
| Profunctor p => Profunctor (Fix p :: j -> j -> Type) Source Github # | |
Defined in Proarrow.Profunctor.Instance.Fix Methods dimap :: forall (c :: j) (a :: j) (b :: j) (d :: j). (c ~> a) -> (b ~> d) -> Fix p a b -> Fix p c d Source Github # lmap :: forall (c :: j) (a :: j) (b :: j). (c ~> a) -> Fix p a b -> Fix p c b Source Github # rmap :: forall (b :: j) (d :: j) (a :: j). (b ~> d) -> Fix p a b -> Fix p a d Source Github # (\\) :: forall (a :: j) (b :: j) r. ((Ob a, Ob b) => r) -> Fix p a b -> r Source Github # | |
| Cotraversable p => Cotraversable (Fix p :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Profunctor.Instance.Fix | |
| Traversable p => Traversable (Fix p :: k -> k -> Type) Source Github # | |
| Promonad p => Promonad (Fix p :: k -> k -> Type) Source Github # | |
| Functor (Fix :: (k +-> k) -> k -> k -> Type) Source Github # | |
hylo :: forall {k} {k1} (p :: k +-> k) (a :: k1 +-> k) (b :: k1 +-> k). (Profunctor p, Profunctor a, Profunctor b) => ((p :.: b) :~> b) -> (a :~> (p :.: a)) -> a :~> b Source Github #
cata :: forall {k1} (p :: k1 +-> k1) (r :: k1 +-> k1). (Profunctor p, Profunctor r) => ((p :.: r) :~> r) -> Fix p :~> r Source Github #
ana :: forall {k1} (p :: k1 +-> k1) (r :: k1 +-> k1). (Profunctor p, Profunctor r) => (r :~> (p :.: r)) -> r :~> Fix p Source Github #
embed' :: forall {k1} x a (b :: k1). (Star (ListF x) :.: Star (Const [x] :: k1 -> Type)) a b -> Star (Const [x] :: k1 -> Type) a b Source Github #