Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
zipChildrenM :: (Monad m, Fam phi, ZipChildren phi (PF phi)) => phi ix -> (forall t. (Lookup phi (Ixs phi) t, Children phi (PF phi) t, GetChildrenTable phi (Ixs phi) t, Eq t) => phi t -> Path phi t ix -> t -> t -> m a) -> ix -> ix -> m [a] Source
class ZipChildren phi f where Source
zipChildren :: Monad m => phi ix -> (forall t. (Lookup phi (Ixs phi) t, Children phi (PF phi) t, GetChildrenTable phi (Ixs phi) t, Eq t) => phi t -> Path phi t ix -> r t -> r t -> m a) -> (forall t. Dir f t ix -> Path phi t ix) -> f r ix -> f r ix -> m [a] Source
ZipChildren phi U | |
ZipChildren phi (K a) | |
(Lookup phi (Ixs phi) xi, El phi xi, Children phi (PF phi) xi, GetChildrenTable phi (Ixs phi) xi, Eq xi) => ZipChildren phi (I xi) | |
ZipChildren phi f => ZipChildren phi ((:.:) [] f) | |
ZipChildren phi f => ZipChildren phi ((:.:) Maybe f) | |
ZipChildren phi f => ZipChildren phi ((:>:) f ix) | |
(ZipChildren phi f, Constructor c) => ZipChildren phi (C c f) | |
(ZipChildren phi f, ZipChildren phi g, CountIs g) => ZipChildren phi ((:*:) f g) | |
(ZipChildren phi f, ZipChildren phi g) => ZipChildren phi ((:+:) f g) |