| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.StateMachine.Lockstep.Auxiliary
Synopsis
- data Elem (xs :: [k]) (a :: k) where
- npAt :: forall {k} f (xs :: [k]) (a :: k). NP f xs -> Elem xs a -> f a
- class NTraversable (f :: (k -> Type) -> [k] -> Type) where
- nctraverse :: forall m c (xs :: [k]) proxy g h. (Applicative m, All c xs) => proxy c -> (forall (a :: k). c a => Elem xs a -> g a -> m (h a)) -> f g xs -> m (f h xs)
- ntraverse :: forall {k} f m (xs :: [k]) g h. (NTraversable f, Applicative m, SListI xs) => (forall (a :: k). Elem xs a -> g a -> m (h a)) -> f g xs -> m (f h xs)
- ncfmap :: forall {k} f c (xs :: [k]) proxy g h. (NTraversable f, All c xs) => proxy c -> (forall (a :: k). c a => Elem xs a -> g a -> h a) -> f g xs -> f h xs
- nfmap :: forall {k} f (xs :: [k]) g h. (NTraversable f, SListI xs) => (forall (a :: k). Elem xs a -> g a -> h a) -> f g xs -> f h xs
- ncfoldMap :: forall {k} proxy f g m c (xs :: [k]). (NTraversable f, Monoid m, All c xs) => proxy c -> (forall (a :: k). c a => Elem xs a -> g a -> m) -> f g xs -> m
- nfoldMap :: forall {k} f m (xs :: [k]) g. (NTraversable f, Monoid m, SListI xs) => (forall (a :: k). Elem xs a -> g a -> m) -> f g xs -> m
Documentation
class NTraversable (f :: (k -> Type) -> [k] -> Type) where Source #
N-ary traversable functors
TODO: Don't provide Elem explicitly (just instantiate c)?
TODO: Introduce HTraverse into SOP?
Methods
nctraverse :: forall m c (xs :: [k]) proxy g h. (Applicative m, All c xs) => proxy c -> (forall (a :: k). c a => Elem xs a -> g a -> m (h a)) -> f g xs -> m (f h xs) Source #
Instances
| Traversable (Cmd t) => NTraversable (Cmd (Simple t) :: (Type -> Type) -> [Type] -> Type) Source # | |
Defined in Test.StateMachine.Lockstep.Simple | |
| Traversable (Resp t) => NTraversable (Resp (Simple t) :: (Type -> Type) -> [Type] -> Type) Source # | |
Defined in Test.StateMachine.Lockstep.Simple | |
ntraverse :: forall {k} f m (xs :: [k]) g h. (NTraversable f, Applicative m, SListI xs) => (forall (a :: k). Elem xs a -> g a -> m (h a)) -> f g xs -> m (f h xs) Source #
ncfmap :: forall {k} f c (xs :: [k]) proxy g h. (NTraversable f, All c xs) => proxy c -> (forall (a :: k). c a => Elem xs a -> g a -> h a) -> f g xs -> f h xs Source #
nfmap :: forall {k} f (xs :: [k]) g h. (NTraversable f, SListI xs) => (forall (a :: k). Elem xs a -> g a -> h a) -> f g xs -> f h xs Source #