quickcheck-state-machine-0.10.2: Test monadic programs using state machine based models
Safe HaskellNone
LanguageHaskell2010

Test.StateMachine.Lockstep.Auxiliary

Synopsis

Documentation

data Elem (xs :: [k]) (a :: k) where Source #

Constructors

ElemHead :: forall {k} (a :: k) (ks :: [k]). Elem (a ': ks) a 
ElemTail :: forall {k} (ks :: [k]) (a :: k) (k' :: k). Elem ks a -> Elem (k' ': ks) a 

npAt :: forall {k} f (xs :: [k]) (a :: k). NP f xs -> Elem xs a -> f a Source #

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

Instances details
Traversable (Cmd t) => NTraversable (Cmd (Simple t) :: (Type -> Type) -> [Type] -> Type) Source # 
Instance details

Defined in Test.StateMachine.Lockstep.Simple

Methods

nctraverse :: forall m c (xs :: [Type]) proxy g h. (Applicative m, All c xs) => proxy c -> (forall a. c a => Elem xs a -> g a -> m (h a)) -> Cmd (Simple t) g xs -> m (Cmd (Simple t) h xs) Source #

Traversable (Resp t) => NTraversable (Resp (Simple t) :: (Type -> Type) -> [Type] -> Type) Source # 
Instance details

Defined in Test.StateMachine.Lockstep.Simple

Methods

nctraverse :: forall m c (xs :: [Type]) proxy g h. (Applicative m, All c xs) => proxy c -> (forall a. c a => Elem xs a -> g a -> m (h a)) -> Resp (Simple t) g xs -> m (Resp (Simple t) h xs) Source #

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 #

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 Source #

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 Source #