File: UnfoldrM.hs

package info (click to toggle)
haskell-deferred-folds 0.9.18.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 120 kB
  • sloc: haskell: 755; makefile: 5
file content (9 lines) | stat: -rw-r--r-- 279 bytes parent folder | download
1
2
3
4
5
6
7
8
9
module DeferredFolds.Defs.UnfoldrM where

import DeferredFolds.Prelude
import DeferredFolds.Types

unfoldr :: (Monad m) => Unfoldr a -> UnfoldrM m a
unfoldr (Unfoldr unfoldr) = UnfoldrM $ \stepM ->
  let step input act state = stepM input state >>= act
   in unfoldr step return