Logs: freenode/#haskell
| 2020-10-02 00:05:49 | → | Velpoman joins (~Velpoman@159.65.76.124) |
| 2020-10-02 00:05:49 | → | dixie joins (~dixie@real.wilbury.sk) |
| 2020-10-02 00:05:49 | → | uwap joins (~uwap@genja.uwap.name) |
| 2020-10-02 00:09:37 | × | elliott_ quits (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
| 2020-10-02 00:10:30 | → | elliott_ joins (~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) |
| 2020-10-02 00:11:30 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 2020-10-02 00:11:54 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-02 00:12:03 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-02 00:12:22 | → | GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) |
| 2020-10-02 00:12:22 | × | GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host) |
| 2020-10-02 00:12:22 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 2020-10-02 00:12:30 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 2020-10-02 00:12:48 | × | barzo quits (~sosal@95.70.249.57) (Quit: Leaving) |
| 2020-10-02 00:20:52 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2020-10-02 00:22:34 | → | DTZUZU_ joins (~DTZUZU@205.ip-149-56-132.net) |
| 2020-10-02 00:22:37 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:4135:276:e32f:4d13) (Ping timeout: 272 seconds) |
| 2020-10-02 00:23:19 | × | DTZUZU quits (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 246 seconds) |
| 2020-10-02 00:25:47 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
| 2020-10-02 00:28:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-02 00:28:56 | × | inkbottle quits (~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
| 2020-10-02 00:29:13 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-02 00:31:08 | → | thir joins (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) |
| 2020-10-02 00:33:10 | → | zebrag joins (~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr) |
| 2020-10-02 00:34:21 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:9424:53b3:93b4:eb3f) |
| 2020-10-02 00:35:27 | × | thir quits (~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2020-10-02 00:36:21 | → | emmanuel_erc joins (~user@2604:2000:1382:ce03:f102:da07:a063:e98b) |
| 2020-10-02 00:36:31 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 2020-10-02 00:37:12 | ← | emmanuel_erc parts (~user@2604:2000:1382:ce03:f102:da07:a063:e98b) () |
| 2020-10-02 00:37:29 | → | emmanuel_erc joins (~user@2604:2000:1382:ce03:f102:da07:a063:e98b) |
| 2020-10-02 00:41:14 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 260 seconds) |
| 2020-10-02 00:42:17 | <catern> | pretty basic question, but is there any Haskell library where I can say some approximation of "f = F(); dothing(f); g = G(); h = H(); dothing2(g, h)" and have the requests made inside F, G, and H automatically get sent out together at the start? |
| 2020-10-02 00:44:55 | <dsal> | I don't understand `F()` |
| 2020-10-02 00:45:22 | → | conal joins (~conal@66.115.157.40) |
| 2020-10-02 00:45:25 | <dsal> | Also: What does "request" mean? |
| 2020-10-02 00:46:47 | <dsal> | If F, G, and H are meant to be monadic actions that depend on the results of each other, it's not clear what you mean by wanting to send the requests before you have their input. |
| 2020-10-02 00:46:52 | <catern> | any kind of request, RPCs over the network, say? |
| 2020-10-02 00:47:10 | <catern> | no, they're meant to be actions which don't depend on each others' results |
| 2020-10-02 00:47:31 | → | aaaaaa joins (~ArthurStr@host-91-90-11-13.soborka.net) |
| 2020-10-02 00:47:31 | → | reppertj joins (~textual@pool-96-246-209-59.nycmny.fios.verizon.net) |
| 2020-10-02 00:47:35 | <dsal> | Oh. The syntax is confusing. Capitals generally refer to types. |
| 2020-10-02 00:47:53 | <dsal> | The async packages has a lot of stuff for implicitly running multiple IO actions concurrently. It'd pretty easily do what you're asking for. |
| 2020-10-02 00:48:06 | <dsal> | @package async |
| 2020-10-02 00:48:07 | <lambdabot> | https://hackage.haskell.org/package/async |
| 2020-10-02 00:48:46 | <dsal> | The example at the bottom of the Control.Concurrent.Async docs sound a bit like what you're asking for. |
| 2020-10-02 00:49:15 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-02 00:49:28 | <catern> | i'd have to explicitly run things with async though right? i'm more curious about something automatic |
| 2020-10-02 00:50:07 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 2020-10-02 00:50:28 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
| 2020-10-02 00:51:33 | <infinisil> | catern: The usual way to define variables with do notation won't work for your example |
| 2020-10-02 00:51:56 | <infinisil> | Because do notation makes later values able to depend on earlier ones |
| 2020-10-02 00:52:20 | <infinisil> | So e.g. you could say `f <- ffun(); g <- gfun(f)` |
| 2020-10-02 00:52:50 | <infinisil> | Well actually, that's not entirely true, there's ApplicativeDo |
| 2020-10-02 00:53:03 | <infinisil> | Anyways, I think maybe you're looking for Applicative's in general |
| 2020-10-02 00:53:18 | → | jscarmona joins (~jscarmona@s91904426.blix.com) |
| 2020-10-02 00:53:54 | <infinisil> | So you could do `(f, g, h) <- (,,) <$> ffun <*> gfun <*> hfun` |
| 2020-10-02 00:54:05 | → | conal joins (~conal@66.115.157.40) |
| 2020-10-02 00:54:25 | <infinisil> | And run that in a context where those are run in parallel |
| 2020-10-02 00:54:31 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 2020-10-02 00:54:39 | <infinisil> | E.g. as dsal suggested with async |
| 2020-10-02 00:54:51 | × | conal quits (~conal@66.115.157.40) (Client Quit) |
| 2020-10-02 00:55:27 | <infinisil> | catern: And in fact, async has an example for exactly that: https://hackage.haskell.org/package/async-2.2.2/docs/Control-Concurrent-Async.html#t:Concurrently |
| 2020-10-02 00:57:08 | <dsal> | Automatically transforming a block into a collection of actions and then running those actions concurrently sounds like a neat idea, and is likely possible, but I'd think it'd be fairly special for your operations. |
| 2020-10-02 00:57:18 | → | conal joins (~conal@66.115.157.40) |
| 2020-10-02 00:57:25 | × | connrs quits (~connrs@runciter.connrs.uk) (Ping timeout: 240 seconds) |
| 2020-10-02 00:57:37 | → | connrs- joins (~connrs@runciter.connrs.uk) |
| 2020-10-02 00:58:23 | <catern> | infinisil: interesting, thanks! |
| 2020-10-02 00:58:35 | <dsal> | Your syntax is confusing me a bit, but it sounds like you want `dothing` and `dothing2` to be actions as well. In which case, why wouldn't they also happen concurrently at the beginning? You'd need a way to build a dependency of actions and run them as concurrently as you could as they are evaluated. Doing that explicitly isn't *super* hard, but doing it magically raises a lot of questions. |
| 2020-10-02 00:59:12 | × | xff0x quits (~fox@2001:1a81:5220:1600:3ce1:e817:dda8:9f17) (Ping timeout: 260 seconds) |
| 2020-10-02 00:59:12 | × | voyons_calisse quits (~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer) |
| 2020-10-02 00:59:36 | → | voyons_calisse joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 2020-10-02 01:00:04 | → | xff0x joins (~fox@2001:1a81:5220:1600:244e:e6:b68b:8071) |
| 2020-10-02 01:01:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2020-10-02 01:02:21 | → | ystael joins (~ystael@209.6.50.55) |
| 2020-10-02 01:05:20 | × | nbloomf quits (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-02 01:09:08 | → | nbloomf joins (~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) |
| 2020-10-02 01:12:08 | × | dhil quits (~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 272 seconds) |
| 2020-10-02 01:13:00 | × | nineonine quits (~nineonine@216.81.48.202) (Remote host closed the connection) |
| 2020-10-02 01:15:31 | → | FreeBirdLjj joins (~freebirdl@240e:388:4f41:dc00:4cd9:b0cb:876b:f953) |
| 2020-10-02 01:17:18 | × | raehik quits (~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2020-10-02 01:17:37 | × | ystael quits (~ystael@209.6.50.55) (Ping timeout: 264 seconds) |
| 2020-10-02 01:19:27 | × | FreeBirdLjj quits (~freebirdl@240e:388:4f41:dc00:4cd9:b0cb:876b:f953) (Ping timeout: 240 seconds) |
| 2020-10-02 01:27:13 | × | Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 2020-10-02 01:28:28 | → | danso joins (~dan@107-190-41-58.cpe.teksavvy.com) |
| 2020-10-02 01:30:23 | → | snakemasterflex joins (~snakemast@213.100.206.23) |
| 2020-10-02 01:34:45 | × | snakemasterflex quits (~snakemast@213.100.206.23) (Ping timeout: 240 seconds) |
| 2020-10-02 01:35:55 | → | HaskellYogi joins (~vivekrama@49.207.197.215) |
| 2020-10-02 01:36:31 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 2020-10-02 01:37:52 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-10-02 01:39:58 | → | Amras joins (~Amras@unaffiliated/amras0000) |
| 2020-10-02 01:40:07 | × | Neuromancer quits (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 240 seconds) |
| 2020-10-02 01:42:00 | → | conal joins (~conal@66.115.157.40) |
| 2020-10-02 01:42:58 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2020-10-02 01:50:01 | × | xff0x quits (~fox@2001:1a81:5220:1600:244e:e6:b68b:8071) (Ping timeout: 272 seconds) |
| 2020-10-02 01:51:15 | → | xff0x joins (~fox@2001:1a81:5254:9a00:244e:e6:b68b:8071) |
| 2020-10-02 01:56:13 | × | jedws quits (~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-02 01:57:57 | → | jedws joins (~jedws@121.209.139.222) |
| 2020-10-02 01:59:02 | × | pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection) |
| 2020-10-02 01:59:10 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) () |
| 2020-10-02 01:59:11 | × | conal quits (~conal@66.115.157.40) (Quit: Computer has gone to sleep.) |
| 2020-10-02 02:00:28 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
All times are in UTC.