on master help sign in
simplify last
commit689b9c53b83376035e09672be1f4dbb302d2ec37 authorHarendra Kumar <harendra.kumar@gmail.com> dateTue 26 Jun 2018, 07:33 (8 years ago) parent162cb8b
1 file changed+1−13
src/Streamly/Streams/StreamD.hs+1−13
src/Streamly/Streams/StreamD.hs+1−13
@@ -306,19 +306,7 @@ runStream (Stream step state) = go SPEC state
306306
307307{-# INLINE_NORMAL last #-}
308308last :: Monad m => Stream m a -> m (Maybe a)
309−last (Stream step state) = go0 SPEC state
310− where
311− go0 !_ st = do
312− r <- step st
313− case r of
314− Yield x s -> go1 SPEC x s
315− Stop -> return Nothing
316−
317− go1 !_ x st = do
318− r <- step st
319− case r of
320− Yield y s -> go1 SPEC y s
321− Stop -> return (Just x)
309+last = foldl' (\_ y -> Just y) Nothing
322310
323311------------------------------------------------------------------------------
324312-- Map and Fold