[Haskell-cafe] Simplest way to move a ... `using` ... line into the IO monad?

Brandon Allbery allbery.b at gmail.com
Fri Oct 27 18:48:29 UTC 2023


Doesn't `async` have things for this?

On Fri, Oct 27, 2023 at 6:43 PM Tom Ellis <
tom-lists-haskell-cafe-2023 at jaguarpaw.co.uk> wrote:

> On Fri, Oct 27, 2023 at 11:36:53AM -0700, David Banas wrote:
> > What is the simplest way to translate a non-monadic line of Haskell
> code, such as:
> >
> > res = map foo xs `using` parList rseq
> >
> > For use in the IO monad?
> >
> > This doesn’t work:
> >
> > res <- mapM fooM xs `using` parTraversable rseq
>
> The docs for Control.Parallel.Strategies say "The parallel tasks
> evaluated by a Strategy may have no side effects. For
> non-deterministic parallel programming, see Control.Concurrent."[1].
> So I guess you should look into Control.Concurrent[2].
>
> Tom
>
> [1]
> https://www.stackage.org/haddock/lts-21.17/parallel-3.2.2.0/Control-Parallel-Strategies.html#v:using
>
> [2]
> https://www.stackage.org/haddock/lts-21.17/base-4.17.2.0/Control-Concurrent.html
> _______________________________________________
> 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.



-- 
brandon s allbery kf8nh
allbery.b at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20231027/1c10a29c/attachment.html>


More information about the Haskell-Cafe mailing list