[Haskell-cafe] How to compose operations in streaming
☂Josh Chia (謝任中)
joshchia at gmail.com
Wed Jun 3 11:38:51 UTC 2020
The type of "SP.mapM_ putStrLn str" is IO (), so I don't think "SP.length_
(SP.mapM_ putStrLn str)" type checks, unless I'm somehow misreading your
code.
Anyway, I just realized I can use SP.copy:
do
l <- SP.mapM_ putStrLn $ SP.length_ $ SP.copy str
print l
"l <- SP.length_ $ SP.mapM_ putStrLn $ SP.copy str" also works.
On Wed, Jun 3, 2020 at 3:23 PM Tom Ellis <
tom-lists-haskell-cafe-2017 at jaguarpaw.co.uk> wrote:
> On Wed, Jun 03, 2020 at 03:04:59PM +0800, ☂Josh Chia (謝任中) wrote:
> > I want to putStrLn each element and then print the length of str
> [...]
> > doit :: Stream (Of String) IO () -> IO ()
> > doit str =
> > do
> > SP.mapM_ putStrLn str
> > SP.length_ str >>= print
>
> Isn't it
>
> SP.length_ (SP.mapM_ putStrLn str) >>= print
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20200603/3f2cf374/attachment.html>
More information about the Haskell-Cafe
mailing list