Skip to content

Commit 3fde8b4

Browse files
Better name
1 parent d948bf2 commit 3fde8b4

File tree

1 file changed

+31
-31
lines changed

1 file changed

+31
-31
lines changed

src/Constrained/GenT.hs

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -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

153153
instance 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
310310
strictGen :: 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
314314
looseGen :: 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
318318
genFromGenT :: GenT GE a -> Gen a
319319
genFromGenT genT = errorGE <$> strictGen genT
320320

321321
-- | Turn a `Gen` generator into a t`GenT` generator that never fails.
322322
pureGen :: 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`
326326
listOfT :: MonadGenError m => GenT GE a -> GenT m [a]
327327
listOfT 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`
350350
vectorOfT :: MonadGenError m => Int -> GenT GE a -> GenT m [a]
351351
vectorOfT 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`
386386
scaleT :: (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`
390390
resizeT :: 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
436436
inspect :: 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
440440
tryGenT :: MonadGenError m => GenT GE a -> GenT m (Maybe a)

0 commit comments

Comments
 (0)