@@ -94,40 +94,40 @@ instance Monad GE where
9494 Result a >>= k = k a
9595
9696------------------------------------------------------------------------
97- -- Strict gen monad
97+ -- Threading gen monad
9898------------------------------------------------------------------------
9999
100- liftGenToStrict :: Monad m => Gen a -> StrictGenT m a
101- liftGenToStrict g = StrictGen $ \ seed size -> do
100+ liftGenToThreading :: Monad m => Gen a -> ThreadingGenT m a
101+ liftGenToThreading g = ThreadingGen $ \ seed size -> do
102102 let (seed', seed'') = split seed
103103 pure (seed'', unGen g seed' size)
104104
105- runStrictGen :: Functor m => StrictGenT m a -> Gen (m a )
106- runStrictGen g = MkGen $ \ seed size -> do
107- snd <$> unStrictGen g seed size
105+ runThreadingGen :: Functor m => ThreadingGenT m a -> Gen (m a )
106+ runThreadingGen g = MkGen $ \ seed size -> do
107+ snd <$> unThreadingGen g seed size
108108
109- strictGetSize :: Applicative m => StrictGenT m Int
110- strictGetSize = StrictGen $ \ seed size -> pure (seed, size)
109+ strictGetSize :: Applicative m => ThreadingGenT m Int
110+ strictGetSize = ThreadingGen $ \ seed size -> pure (seed, size)
111111
112- scaleStrict :: (Int -> Int ) -> StrictGenT m a -> StrictGenT m a
113- scaleStrict f sg = StrictGen $ \ seed size -> unStrictGen sg seed (f size)
112+ scaleThreading :: (Int -> Int ) -> ThreadingGenT m a -> ThreadingGenT m a
113+ scaleThreading f sg = ThreadingGen $ \ seed size -> unThreadingGen sg seed (f size)
114114
115- newtype StrictGenT m a = StrictGen { unStrictGen :: QCGen -> Int -> m (QCGen , a ) }
115+ newtype ThreadingGenT m a = ThreadingGen { unThreadingGen :: QCGen -> Int -> m (QCGen , a ) }
116116
117- instance Functor m => Functor (StrictGenT m ) where
118- fmap f (StrictGen g) = StrictGen $ \ seed size -> second f <$> g seed size
117+ instance Functor m => Functor (ThreadingGenT m ) where
118+ fmap f (ThreadingGen g) = ThreadingGen $ \ seed size -> second f <$> g seed size
119119
120- instance Monad m => Applicative (StrictGenT m ) where
121- pure a = StrictGen $ \ seed _ -> pure (seed, a)
120+ instance Monad m => Applicative (ThreadingGenT m ) where
121+ pure a = ThreadingGen $ \ seed _ -> pure (seed, a)
122122 (<*>) = ap
123123
124- instance Monad m => Monad (StrictGenT m ) where
125- StrictGen g >>= k = StrictGen $ \ seed size -> do
124+ instance Monad m => Monad (ThreadingGenT m ) where
125+ ThreadingGen g >>= k = ThreadingGen $ \ seed size -> do
126126 (seed', a) <- g seed size
127- unStrictGen (k a) seed' size
127+ unThreadingGen (k a) seed' size
128128
129- instance MonadTrans StrictGenT where
130- lift m = StrictGen $ \ seed _ -> (seed,) <$> m
129+ instance MonadTrans ThreadingGenT where
130+ lift m = ThreadingGen $ \ seed _ -> (seed,) <$> m
131131
132132------------------------------------------------------------------------
133133-- The GenT monad
@@ -147,7 +147,7 @@ data GenMode
147147
148148-- | A `Gen` monad wrapper that allows different generation modes and different
149149-- failure types.
150- newtype GenT m a = GenT { runGenT :: GenMode -> [NonEmpty String ] -> StrictGenT m a }
150+ newtype GenT m a = GenT { runGenT :: GenMode -> [NonEmpty String ] -> ThreadingGenT m a }
151151 deriving (Functor )
152152
153153instance Monad m => Applicative (GenT m ) where
@@ -213,7 +213,7 @@ instance MonadGenError m => MonadGenError (GenT m) where
213213 fatalErrors es = GenT $ \ _ xs -> lift $ fatalErrors (cat es xs)
214214
215215 -- Perhaps we want to turn fatalError into genError, if mode_ is Loose?
216- explainNE e (GenT f) = GenT $ \ mode es -> StrictGen $ \ seed size -> explainNE e $ unStrictGen (f mode es) seed size
216+ explainNE e (GenT f) = GenT $ \ mode es -> ThreadingGen $ \ seed size -> explainNE e $ unThreadingGen (f mode es) seed size
217217
218218-- ====================================================
219219-- useful operations on NonEmpty
@@ -308,24 +308,24 @@ listFromGE = fromGE (const []) . explain "listFromGE"
308308
309309-- | Run a t`GenT` generator in `Strict` mode
310310strictGen :: Functor m => GenT m a -> Gen (m a )
311- strictGen genT = runStrictGen $ runGenT genT Strict []
311+ strictGen genT = runThreadingGen $ runGenT genT Strict []
312312
313313-- | Run a t`GenT` generator in `Loose` mode
314314looseGen :: Functor m => GenT m a -> Gen (m a )
315- looseGen genT = runStrictGen $ runGenT genT Loose []
315+ looseGen genT = runThreadingGen $ runGenT genT Loose []
316316
317317-- | Turn a t`GenT` generator into a `Gen` generator in `Strict` mode
318318genFromGenT :: GenT GE a -> Gen a
319319genFromGenT genT = errorGE <$> strictGen genT
320320
321321-- | Turn a `Gen` generator into a t`GenT` generator that never fails.
322322pureGen :: Monad m => Gen a -> GenT m a
323- pureGen gen = GenT $ \ _ _ -> liftGenToStrict gen
323+ pureGen gen = GenT $ \ _ _ -> liftGenToThreading gen
324324
325325-- | Lift `listOf` to t`GenT`
326326listOfT :: MonadGenError m => GenT GE a -> GenT m [a ]
327327listOfT gen = do
328- lst <- pureGen . listOf $ runStrictGen $ runGenT gen Loose []
328+ lst <- pureGen . listOf $ runThreadingGen $ runGenT gen Loose []
329329 catGEs lst
330330
331331-- | Generate a list of elements of length at most @goalLen@, but accepting
@@ -343,13 +343,13 @@ listOfUntilLenT gen goalLen validLen =
343343 genList `suchThatT` validLen . length
344344 where
345345 genList = do
346- res <- pureGen . vectorOf goalLen $ runStrictGen $ runGenT gen Loose []
346+ res <- pureGen . vectorOf goalLen $ runThreadingGen $ runGenT gen Loose []
347347 catGEs res
348348
349349-- | Lift `vectorOf` to t`GenT`
350350vectorOfT :: MonadGenError m => Int -> GenT GE a -> GenT m [a ]
351351vectorOfT i gen = GenT $ \ mode _ -> do
352- res <- liftGenToStrict $ fmap sequence . vectorOf i $ runStrictGen $ runGenT gen Strict []
352+ res <- liftGenToThreading $ fmap sequence . vectorOf i $ runThreadingGen $ runGenT gen Strict []
353353 case mode of
354354 Strict -> lift $ runGE res
355355 Loose -> case res of
@@ -384,7 +384,7 @@ suchThatWithTryT tries g p = do
384384
385385-- | Lift `scale` to t`GenT`
386386scaleT :: (Int -> Int ) -> GenT m a -> GenT m a
387- scaleT sc (GenT gen) = GenT $ \ mode msgs -> scaleStrict sc $ gen mode msgs
387+ scaleT sc (GenT gen) = GenT $ \ mode msgs -> scaleThreading sc $ gen mode msgs
388388
389389-- | Lift `resize` to t`GenT`
390390resizeT :: Int -> GenT m a -> GenT m a
@@ -414,7 +414,7 @@ frequencyT gs = do
414414 msgs <- getMessages
415415 r <-
416416 explain " suchThatT in oneofT" $
417- pureGen (frequency [(f, runStrictGen $ runGenT g mode msgs) | (f, g) <- gs]) `suchThatT` isOk
417+ pureGen (frequency [(f, runThreadingGen $ runGenT g mode msgs) | (f, g) <- gs]) `suchThatT` isOk
418418 runGE r
419419
420420-- | Lift `choose` to t`GenT`, failing with a `genError` in case of an empty interval
@@ -434,7 +434,7 @@ sizeT = GenT $ \_ _ -> strictGetSize
434434
435435-- | Always succeeds, but returns the internal GE structure for analysis
436436inspect :: forall m a . MonadGenError m => GenT GE a -> GenT m (GE a )
437- inspect (GenT f) = GenT $ \ mode msgs -> liftGenToStrict $ runStrictGen $ f mode msgs
437+ inspect (GenT f) = GenT $ \ mode msgs -> liftGenToThreading $ runThreadingGen $ f mode msgs
438438
439439-- | Ignore all kinds of Errors, by squashing them into Nothing
440440tryGenT :: MonadGenError m => GenT GE a -> GenT m (Maybe a )
0 commit comments