<div dir="ltr">Hi Niklas and Patrick,<div><br></div><div>Thankyou both for the comments -- this is what I am looking for. </div><div><br></div><div>I have a follow-on question, if I have code like</div><div><br></div>getPages :: IO()<br>getPages = do (page1, page2, page3)<br>     <- runConcurrently $ (,,)<br>     <$> Concurrently (getURL "url1")<br>     <*> Concurrently (getURL "url2")<br>     <*> Concurrently (getURL "url3")<div><br></div><div>main :: IO()</div><div>main = do </div><div>    f <- async getPages</div><div>    cancel f</div><div><br></div><div>Am I guaranteed the the <font face="monospace">getURL()</font> calls will definitely have either finished, or cancel? (I looked through the source (<a href="https://hackage.haskell.org/package/async-2.2.2/docs/src/Control.Concurrent.Async.html#Concurrently">https://hackage.haskell.org/package/async-2.2.2/docs/src/Control.Concurrent.Async.html#Concurrently</a>), and I think so, because <font face="monospace">runConcurrently </font>is implemented in terms of <font face="monospace">race</font>, which is implemented using <font face="monospace">withAsync, </font><font face="arial, sans-serif">but I'm not confident with interpreting Haskell!)</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Many thanks,</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Mike</font></div><div><font face="arial, sans-serif"><br></font></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 18 Mar 2020 at 03:15, Niklas Hambüchen <<a href="mailto:mail@nh2.me">mail@nh2.me</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I've you're new to async, also check out my recent rework of the docs that talk about this topic specifically:<br>
<br>
<a href="https://github.com/simonmar/async/pull/105/files" rel="noreferrer" target="_blank">https://github.com/simonmar/async/pull/105/files</a><br>
<br>
(To be available in the next release of async.)<br>
</blockquote></div>