Skip to content

Commit 4981c6a

Browse files
committed
Normalize spaces and apply a few hlint-style simplification
1 parent 800ca56 commit 4981c6a

2 files changed

Lines changed: 58 additions & 59 deletions

File tree

src/Streaming/Internal.hs

Lines changed: 56 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,15 @@ instance (Monad m, Functor f, Eq1 m, Eq1 f) => Eq1 (Stream f m) where
167167
where
168168
liftEqExposed (Return x) (Return y) = eq x y
169169
liftEqExposed (Effect m) (Effect n) = liftEq liftEqExposed m n
170-
liftEqExposed (Step f) (Step g) = liftEq liftEqExposed f g
170+
liftEqExposed (Step f) (Step g) = liftEq liftEqExposed f g
171171
liftEqExposed _ _ = False
172172

173173
instance (Monad m, Functor f, Ord1 m, Ord1 f) => Ord1 (Stream f m) where
174174
liftCompare cmp xs ys = liftCmpExposed (unexposed xs) (unexposed ys)
175175
where
176176
liftCmpExposed (Return x) (Return y) = cmp x y
177177
liftCmpExposed (Effect m) (Effect n) = liftCompare liftCmpExposed m n
178-
liftCmpExposed (Step f) (Step g) = liftCompare liftCmpExposed f g
178+
liftCmpExposed (Step f) (Step g) = liftCompare liftCmpExposed f g
179179
liftCmpExposed (Return _) _ = LT
180180
liftCmpExposed _ (Return _) = GT
181181
liftCmpExposed _ _ = error "liftCmpExposed: stream was exposed!"
@@ -200,7 +200,7 @@ instance (Monad m, Show r, Show (m ShowSWrapper), Show (f (Stream f m r)))
200200
flip fmap (inspect xs) $ \front ->
201201
SS $ \d -> showParen (d > 10) $
202202
case front of
203-
Left r -> showString "Return " . showsPrec 11 r
203+
Left r -> showString "Return " . showsPrec 11 r
204204
Right f -> showString "Step " . showsPrec 11 f)
205205

206206
#if MIN_VERSION_base(4,9,0)
@@ -212,7 +212,7 @@ instance (Monad m, Functor f, Show (m ShowSWrapper), Show (f ShowSWrapper))
212212
flip fmap (inspect xs) $ \front ->
213213
SS $ \d -> showParen (d > 10) $
214214
case front of
215-
Left r -> showString "Return " . sp 11 r
215+
Left r -> showString "Return " . sp 11 r
216216
Right f -> showString "Step " .
217217
showsPrec 11 (fmap (SS . (\str i -> liftShowsPrec sp sl i str)) f))
218218

@@ -226,18 +226,18 @@ instance (Functor f, Monad m) => Functor (Stream f m) where
226226
fmap f = loop where
227227
loop stream = case stream of
228228
Return r -> Return (f r)
229-
Effect m -> Effect (do {stream' <- m; return (loop stream')})
230-
Step g -> Step (fmap loop g)
229+
Effect m -> Effect (do {stream' <- m; return (loop stream')})
230+
Step g -> Step (fmap loop g)
231231
{-# INLINABLE fmap #-}
232232
a <$ stream0 = loop stream0 where
233233
loop stream = case stream of
234234
Return _ -> Return a
235235
Effect m -> Effect (do {stream' <- m; return (loop stream')})
236-
Step f -> Step (fmap loop f)
236+
Step f -> Step (fmap loop f)
237237
{-# INLINABLE (<$) #-}
238238

239239
instance (Functor f, Monad m) => Monad (Stream f m) where
240-
return = Return
240+
return = pure
241241
{-# INLINE return #-}
242242
(>>) = (*>)
243243
{-# INLINE (>>) #-}
@@ -248,7 +248,7 @@ instance (Functor f, Monad m) => Monad (Stream f m) where
248248
loop stream where
249249
loop stream0 = case stream0 of
250250
Step fstr -> Step (fmap loop fstr)
251-
Effect m -> Effect (fmap loop m)
251+
Effect m -> Effect (fmap loop m)
252252
Return r -> f r
253253
{-# INLINABLE (>>=) #-}
254254

@@ -288,7 +288,7 @@ instance (Functor f, Monad m) => Applicative (Stream f m) where
288288
stream1 *> stream2 = loop stream1 where
289289
loop stream = case stream of
290290
Return _ -> stream2
291-
Effect m -> Effect (fmap loop m)
291+
Effect m -> Effect (fmap loop m)
292292
Step f -> Step (fmap loop f)
293293
{-# INLINABLE (*>) #-}
294294

@@ -330,17 +330,17 @@ instance Functor f => MonadTrans (Stream f) where
330330
instance Functor f => MFunctor (Stream f) where
331331
hoist trans = loop where
332332
loop stream = case stream of
333-
Return r -> Return r
334-
Effect m -> Effect (trans (fmap loop m))
335-
Step f -> Step (fmap loop f)
333+
Return r -> Return r
334+
Effect m -> Effect (trans (fmap loop m))
335+
Step f -> Step (fmap loop f)
336336
{-# INLINABLE hoist #-}
337337

338338

339339
instance Functor f => MMonad (Stream f) where
340340
embed phi = loop where
341341
loop stream = case stream of
342342
Return r -> Return r
343-
Effect m -> phi m >>= loop
343+
Effect m -> phi m >>= loop
344344
Step f -> Step (fmap loop f)
345345
{-# INLINABLE embed #-}
346346

@@ -371,7 +371,7 @@ instance (Functor f, MonadError e m) => MonadError e (Stream f m) where
371371
loop x = case x of
372372
Return r -> Return r
373373
Effect m -> Effect $ fmap loop m `catchError` (return . f)
374-
Step g -> Step (fmap loop g)
374+
Step g -> Step (fmap loop g)
375375
{-# INLINABLE catchError #-}
376376

377377
{-| Map a stream to its church encoding; compare @Data.List.foldr@.
@@ -390,7 +390,7 @@ destroy stream0 construct theEffect done = theEffect (loop stream0) where
390390
loop stream = case stream of
391391
Return r -> return (done r)
392392
Effect m -> m >>= loop
393-
Step fs -> return (construct (fmap (theEffect . loop) fs))
393+
Step fs -> return (construct (fmap (theEffect . loop) fs))
394394
{-# INLINABLE destroy #-}
395395

396396

@@ -433,7 +433,7 @@ streamFold done theEffect construct stream = destroy stream construct theEffect
433433

434434
{- | Reflect a church-encoded stream; cp. @GHC.Exts.build@
435435
436-
> streamFold return_ effect_ step_ (streamBuild psi) = psi return_ effect_ step_
436+
> streamFold return_ effect_ step_ (streamBuild psi) = psi return_ effect_ step_
437437
-}
438438
streamBuild
439439
:: (forall b . (r -> b) -> (m b -> b) -> (f b -> b) -> b) -> Stream f m r
@@ -453,7 +453,7 @@ inspect :: Monad m =>
453453
inspect = loop where
454454
loop stream = case stream of
455455
Return r -> return (Left r)
456-
Effect m -> m >>= loop
456+
Effect m -> m >>= loop
457457
Step fs -> return (Right fs)
458458
{-# INLINABLE inspect #-}
459459

@@ -471,9 +471,9 @@ unfold :: (Monad m, Functor f)
471471
unfold step = loop where
472472
loop s0 = Effect $ do
473473
e <- step s0
474-
case e of
475-
Left r -> return (Return r)
476-
Right fs -> return (Step (fmap loop fs))
474+
return $ case e of
475+
Left r -> Return r
476+
Right fs -> Step (fmap loop fs)
477477
{-# INLINABLE unfold #-}
478478

479479

@@ -488,9 +488,9 @@ maps :: (Monad m, Functor f)
488488
=> (forall x . f x -> g x) -> Stream f m r -> Stream g m r
489489
maps phi = loop where
490490
loop stream = case stream of
491-
Return r -> Return r
492-
Effect m -> Effect (fmap loop m)
493-
Step f -> Step (phi (fmap loop f))
491+
Return r -> Return r
492+
Effect m -> Effect (fmap loop m)
493+
Step f -> Step (phi (fmap loop f))
494494
{-# INLINABLE maps #-}
495495

496496

@@ -507,9 +507,9 @@ maps phi = loop where
507507
mapsM :: (Monad m, Functor f) => (forall x . f x -> m (g x)) -> Stream f m r -> Stream g m r
508508
mapsM phi = loop where
509509
loop stream = case stream of
510-
Return r -> Return r
511-
Effect m -> Effect (fmap loop m)
512-
Step f -> Effect (fmap Step (phi (fmap loop f)))
510+
Return r -> Return r
511+
Effect m -> Effect (fmap loop m)
512+
Step f -> Effect (fmap Step (phi (fmap loop f)))
513513
{-# INLINABLE mapsM #-}
514514

515515
{- | Map layers of one functor to another with a transformation. Compare
@@ -519,7 +519,6 @@ mapsM phi = loop where
519519
> mapsPost f . mapsPost g = mapsPost (f . g)
520520
> mapsPost f = mapsPost f
521521
522-
523522
@mapsPost@ is essentially the same as 'maps', but it imposes a 'Functor' constraint on
524523
its target functor rather than its source functor. It should be preferred if 'fmap'
525524
is cheaper for the target functor than for the source functor.
@@ -532,7 +531,7 @@ mapsPost phi = loop where
532531
loop stream = case stream of
533532
Return r -> Return r
534533
Effect m -> Effect (fmap loop m)
535-
Step f -> Step $ fmap loop $ phi f
534+
Step f -> Step $ fmap loop $ phi f
536535
{-# INLINABLE mapsPost #-}
537536

538537
{- | Map layers of one functor to another with a transformation involving the base monad.
@@ -557,7 +556,7 @@ mapsMPost phi = loop where
557556
loop stream = case stream of
558557
Return r -> Return r
559558
Effect m -> Effect (fmap loop m)
560-
Step f -> Effect $ fmap (Step . fmap loop) (phi f)
559+
Step f -> Effect $ fmap (Step . fmap loop) (phi f)
561560
{-# INLINABLE mapsMPost #-}
562561

563562
{-| Rearrange a succession of layers of the form @Compose m (f x)@.
@@ -581,7 +580,7 @@ decompose :: (Monad m, Functor f) => Stream (Compose m f) m r -> Stream f m r
581580
decompose = loop where
582581
loop stream = case stream of
583582
Return r -> Return r
584-
Effect m -> Effect (fmap loop m)
583+
Effect m -> Effect (fmap loop m)
585584
Step (Compose mstr) -> Effect $ do
586585
str <- mstr
587586
return (Step (fmap loop str))
@@ -592,8 +591,8 @@ decompose = loop where
592591
run :: Monad m => Stream m m r -> m r
593592
run = loop where
594593
loop stream = case stream of
595-
Return r -> return r
596-
Effect m -> m >>= loop
594+
Return r -> return r
595+
Effect m -> m >>= loop
597596
Step mrest -> mrest >>= loop
598597
{-# INLINABLE run #-}
599598

@@ -614,16 +613,16 @@ intercalates :: (Monad m, Monad (t m), MonadTrans t) =>
614613
intercalates sep = go0
615614
where
616615
go0 f = case f of
617-
Return r -> return r
618-
Effect m -> lift m >>= go0
616+
Return r -> return r
617+
Effect m -> lift m >>= go0
619618
Step fstr -> do
620619
f' <- fstr
621620
go1 f'
622621
go1 f = case f of
623-
Return r -> return r
624-
Effect m -> lift m >>= go1
622+
Return r -> return r
623+
Effect m -> lift m >>= go1
625624
Step fstr -> do
626-
_ <- sep
625+
_ <- sep
627626
f' <- fstr
628627
go1 f'
629628
{-# INLINABLE intercalates #-}
@@ -657,7 +656,7 @@ concats :: (Monad m, Functor f) => Stream (Stream f m) m r -> Stream f m r
657656
concats = loop where
658657
loop stream = case stream of
659658
Return r -> return r
660-
Effect m -> lift m >>= loop
659+
Effect m -> lift m >>= loop
661660
Step fs -> fs >>= loop
662661
{-# INLINE concats #-}
663662

@@ -687,11 +686,11 @@ concats = loop where
687686
splitsAt :: (Monad m, Functor f) => Int -> Stream f m r -> Stream f m (Stream f m r)
688687
splitsAt = loop where
689688
loop !n stream
690-
| n <= 0 = Return stream
689+
| n <= 0 = Return stream
691690
| otherwise = case stream of
692-
Return r -> Return (Return r)
693-
Effect m -> Effect (fmap (loop n) m)
694-
Step fs -> case n of
691+
Return r -> Return (Return r)
692+
Effect m -> Effect (fmap (loop n) m)
693+
Step fs -> case n of
695694
0 -> Return (Step fs)
696695
_ -> Step (fmap (loop (n-1)) fs)
697696
{-# INLINABLE splitsAt #-}
@@ -755,14 +754,14 @@ distribute = loop where
755754
-- | Repeat a functorial layer (a \"command\" or \"instruction\") forever.
756755
repeats :: (Monad m, Functor f) => f () -> Stream f m r
757756
repeats f = loop where
758-
loop = Effect (return (Step (fmap (\_ -> loop) f)))
757+
loop = Effect (return (Step (loop <$ f)))
759758

760759
-- | Repeat an effect containing a functorial layer, command or instruction forever.
761760
repeatsM :: (Monad m, Functor f) => m (f ()) -> Stream f m r
762761
repeatsM mf = loop where
763762
loop = Effect $ do
764763
f <- mf
765-
return $ Step $ fmap (\_ -> loop) f
764+
return $ Step $ loop <$ f
766765

767766
{- | Repeat a functorial layer, command or instruction a fixed number of times.
768767
@@ -796,7 +795,7 @@ hoistUnexposed trans = loop where
796795
inspectC :: Monad m => (r -> m a) -> (f (Stream f m r) -> m a) -> Stream f m r -> m a
797796
inspectC f g = loop where
798797
loop (Return r) = f r
799-
loop (Step x) = g x
798+
loop (Step x) = g x
800799
loop (Effect m) = m >>= loop
801800
{-# INLINE inspectC #-}
802801

@@ -806,9 +805,9 @@ inspectC f g = loop where
806805
hoistExposed :: (Functor m, Functor f) => (forall b. m b -> n b) -> Stream f m a -> Stream f n a
807806
hoistExposed trans = loop where
808807
loop stream = case stream of
809-
Return r -> Return r
810-
Effect m -> Effect (trans (fmap loop m))
811-
Step f -> Step (fmap loop f)
808+
Return r -> Return r
809+
Effect m -> Effect (trans (fmap loop m))
810+
Step f -> Step (fmap loop f)
812811
{-# INLINABLE hoistExposed #-}
813812

814813
-- | The same as 'hoistExposed', but with a 'Functor' constraint on
@@ -819,7 +818,7 @@ hoistExposedPost trans = loop where
819818
loop stream = case stream of
820819
Return r -> Return r
821820
Effect m -> Effect (fmap loop (trans m))
822-
Step f -> Step (fmap loop f)
821+
Step f -> Step (fmap loop f)
823822
{-# INLINABLE hoistExposedPost #-}
824823

825824
{-# DEPRECATED mapsExposed "Use maps instead." #-}
@@ -852,7 +851,7 @@ destroyExposed
852851
destroyExposed stream0 construct theEffect done = loop stream0 where
853852
loop stream = case stream of
854853
Return r -> done r
855-
Effect m -> theEffect (fmap loop m)
854+
Effect m -> theEffect (fmap loop m)
856855
Step fs -> construct (fmap loop fs)
857856
{-# INLINABLE destroyExposed #-}
858857

@@ -866,7 +865,7 @@ unexposed :: (Functor f, Monad m) => Stream f m r -> Stream f m r
866865
unexposed = Effect . loop where
867866
loop stream = case stream of
868867
Return r -> return (Return r)
869-
Effect m -> m >>= loop
868+
Effect m -> m >>= loop
870869
Step f -> return (Step (fmap (Effect . loop) f))
871870
{-# INLINABLE unexposed #-}
872871

@@ -1101,7 +1100,7 @@ expand :: (Monad m, Functor f)
11011100
-> Stream f m r -> Stream g (Stream h m) r
11021101
expand ext = loop where
11031102
loop (Return r) = Return r
1104-
loop (Step f) = Effect $ Step $ ext (Return . Step) (fmap loop f)
1103+
loop (Step f) = Effect $ Step $ ext (Return . Step) (fmap loop f)
11051104
loop (Effect m) = Effect $ Effect $ fmap (Return . loop) m
11061105
{-# INLINABLE expand #-}
11071106

@@ -1116,7 +1115,7 @@ expandPost :: (Monad m, Functor g)
11161115
-> Stream f m r -> Stream g (Stream h m) r
11171116
expandPost ext = loop where
11181117
loop (Return r) = Return r
1119-
loop (Step f) = Effect $ Step $ ext (Return . Step . fmap loop) f
1118+
loop (Step f) = Effect $ Step $ ext (Return . Step . fmap loop) f
11201119
loop (Effect m) = Effect $ Effect $ fmap (Return . loop) m
11211120
{-# INLINABLE expandPost #-}
11221121

@@ -1347,9 +1346,9 @@ untilJust :: (Monad m, Applicative f) => m (Maybe r) -> Stream f m r
13471346
untilJust act = loop where
13481347
loop = Effect $ do
13491348
m <- act
1350-
case m of
1351-
Nothing -> return $ Step $ pure loop
1352-
Just a -> return $ Return a
1349+
return $ case m of
1350+
Nothing -> Step $ pure loop
1351+
Just a -> Return a
13531352

13541353

13551354
cutoff :: (Monad m, Functor f) => Int -> Stream f m r -> Stream f m (Maybe r)

src/Streaming/Prelude.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,7 +1117,7 @@ for :: (Monad m, Functor f) => Stream (Of a) m r -> (a -> Stream f m x) -> Strea
11171117
for str0 act = loop str0 where
11181118
loop str = case str of
11191119
Return r -> Return r
1120-
Effect m -> Effect $ fmap loop m
1120+
Effect m -> Effect $ fmap loop m
11211121
Step (a :> rest) -> act a *> loop rest
11221122
{-# INLINABLE for #-}
11231123

@@ -1329,7 +1329,7 @@ mapM :: Monad m => (a -> m b) -> Stream (Of a) m r -> Stream (Of b) m r
13291329
mapM f = loop where
13301330
loop str = case str of
13311331
Return r -> Return r
1332-
Effect m -> Effect (fmap loop m)
1332+
Effect m -> Effect (fmap loop m)
13331333
Step (a :> as) -> Effect $ do
13341334
a' <- f a
13351335
return (Step (a' :> loop as) )

0 commit comments

Comments
 (0)