on master help sign in
Keep the Monad constraint on exposed functions
36bbaedHarendra Kumar
src/Streamly/Internal/Data/Unfold.hs+8−8
@@ -481,7 +481,7 @@ fromStreamK = Unfold step pure
481-- /Since: 0.8.0/
481-- /Since: 0.8.0/
482--
482--
483{-# INLINE_NORMAL fromStream #-}
483{-# INLINE_NORMAL fromStream #-}
484−fromStream :: (IsStream t, Applicative m) => Unfold m (t m a) a
484+fromStream :: (IsStream t, Monad m) => Unfold m (t m a) a
485fromStream = lmap IsStream.toStream fromStreamK
485fromStream = lmap IsStream.toStream fromStreamK
486
486
487-------------------------------------------------------------------------------
487-------------------------------------------------------------------------------
@@ -525,7 +525,7 @@ consM action unf = Unfold step inject
525-- /Since: 0.8.0/
525-- /Since: 0.8.0/
526--
526--
527{-# INLINE_LATE fromList #-}
527{-# INLINE_LATE fromList #-}
528−fromList :: Applicative m => Unfold m [a] a
528+fromList :: Monad m => Unfold m [a] a
529fromList = Unfold step pure
529fromList = Unfold step pure
530
530
531 where
531 where
@@ -539,7 +539,7 @@ fromList = Unfold step pure
539-- /Since: 0.8.0/
539-- /Since: 0.8.0/
540--
540--
541{-# INLINE_LATE fromListM #-}
541{-# INLINE_LATE fromListM #-}
542−fromListM :: Applicative m => Unfold m [m a] a
542+fromListM :: Monad m => Unfold m [m a] a
543fromListM = Unfold step pure
543fromListM = Unfold step pure
544
544
545 where
545 where
@@ -557,7 +557,7 @@ fromListM = Unfold step pure
557-- /Since: 0.8.0/
557-- /Since: 0.8.0/
558--
558--
559{-# INLINE replicateM #-}
559{-# INLINE replicateM #-}
560−replicateM :: Applicative m => Int -> Unfold m (m a) a
560+replicateM :: Monad m => Int -> Unfold m (m a) a
561replicateM n = Unfold step inject
561replicateM n = Unfold step inject
562
562
563 where
563 where
@@ -575,7 +575,7 @@ replicateM n = Unfold step inject
575-- /Since: 0.8.0/
575-- /Since: 0.8.0/
576--
576--
577{-# INLINE repeatM #-}
577{-# INLINE repeatM #-}
578−repeatM :: Applicative m => Unfold m (m a) a
578+repeatM :: Monad m => Unfold m (m a) a
579repeatM = Unfold step pure
579repeatM = Unfold step pure
580
580
581 where
581 where
@@ -589,7 +589,7 @@ repeatM = Unfold step pure
589-- /Since: 0.8.0/
589-- /Since: 0.8.0/
590--
590--
591{-# INLINE iterateM #-}
591{-# INLINE iterateM #-}
592−iterateM :: Applicative m => (a -> m a) -> Unfold m (m a) a
592+iterateM :: Monad m => (a -> m a) -> Unfold m (m a) a
593iterateM f = Unfold step id
593iterateM f = Unfold step id
594
594
595 where
595 where
@@ -627,7 +627,7 @@ fromIndicesM gen = Unfold step pure
627-- /Since: 0.8.0/
627-- /Since: 0.8.0/
628--
628--
629{-# INLINE_NORMAL take #-}
629{-# INLINE_NORMAL take #-}
630−take :: Applicative m => Int -> Unfold m a b -> Unfold m a b
630+take :: Monad m => Int -> Unfold m a b -> Unfold m a b
631take n (Unfold step1 inject1) = Unfold step inject
631take n (Unfold step1 inject1) = Unfold step inject
632
632
633 where
633 where
@@ -673,7 +673,7 @@ filter f = filterM (return . f)
673-- /Since: 0.8.0/
673-- /Since: 0.8.0/
674--
674--
675{-# INLINE_NORMAL drop #-}
675{-# INLINE_NORMAL drop #-}
676−drop :: Applicative m => Int -> Unfold m a b -> Unfold m a b
676+drop :: Monad m => Int -> Unfold m a b -> Unfold m a b
677drop n (Unfold step inject) = Unfold step' inject'
677drop n (Unfold step inject) = Unfold step' inject'
678
678
679 where
679 where