2025/12/02

Newest at the top

2025-12-02 14:00:37 +0100 <[exa]> yeah partially exceptions and partially having to watch who's doing what with the global ioref
2025-12-02 13:59:58 +0100 <kuribas> [exa]: you mean exceptions?
2025-12-02 13:58:52 +0100 <[exa]> anyway I did this recently with streaming (few days back in scrollback), it's essentially this idea, except without the unnecessary ioref
2025-12-02 13:57:54 +0100 <[exa]> yeah, if you don't mind losing the safety net of the streaming library around it it's IMO quite the way to go
2025-12-02 13:57:11 +0100 <kuribas> Now that I think of it (ListT IO) or (ListT (ST s)), stored in a IORef or STRef makes for an excelent coroutine.
2025-12-02 13:56:10 +0100 <kuribas> [exa]: arbitrary number or types of streams.
2025-12-02 13:55:42 +0100Anarchos(~Anarchos@91-161-254-16.subs.proxad.net) Anarchos
2025-12-02 13:54:20 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-02 13:51:37 +0100AlexNoo(~AlexNoo@85.174.183.216) (Quit: Leaving)
2025-12-02 13:50:15 +0100AlexZenon(~alzenon@85.174.183.216) (Quit: ;-)
2025-12-02 13:48:07 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-12-02 13:48:00 +0100 <lucabtz> (spoiler advent of code) someone wants to comment my solution so i can improve https://paste.tomsmeding.com/0wThIO6g
2025-12-02 13:39:29 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-02 13:38:06 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-02 13:37:40 +0100Inline(~inlinE@2001-4dd3-7fc8-0-c092-91dd-c569-3f74.ipv6dyn.netcologne.de) (Ping timeout: 265 seconds)
2025-12-02 13:36:12 +0100 <[exa]> with Streaming this is pretty simple (you can unpack multiple sources yourself) but streaming is much less coroutine-ish
2025-12-02 13:35:27 +0100 <[exa]> seems like conduit really can't, there's no space for that in the data structure... https://hackage-content.haskell.org/package/conduit-1.3.6.1/docs/src/Data.Conduit.Internal.Pipe.ht…
2025-12-02 13:34:49 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-02 13:32:38 +0100 <[exa]> ah like, choose what routine to wait for at a given point
2025-12-02 13:29:56 +0100 <[exa]> kuribas: what do you mean with arbitrary
2025-12-02 13:29:55 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-12-02 13:27:28 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-02 13:27:25 +0100tromp(~textual@2001:1c00:3487:1b00:4073:6a24:b181:8b56) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-12-02 13:20:35 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 240 seconds)
2025-12-02 13:20:31 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-02 13:18:06 +0100comerijn(~merijn@77.242.116.146) merijn
2025-12-02 13:17:10 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-02 13:17:04 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 260 seconds)
2025-12-02 13:16:05 +0100confusedalex(~confuseda@user/confusedalex) (Remote host closed the connection)
2025-12-02 13:14:14 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-02 13:11:52 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net)
2025-12-02 13:06:12 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-02 13:03:29 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-02 13:03:29 +0100Inline(~inlinE@2001-4dd3-7fc8-0-c092-91dd-c569-3f74.ipv6dyn.netcologne.de) Inline
2025-12-02 12:58:04 +0100DigitteknohippieDigit
2025-12-02 12:56:54 +0100merijn(~merijn@77.242.116.146) merijn
2025-12-02 12:54:52 +0100Inline(~inlinE@2001-4dd3-7fc8-0-2be-fec0-ba58-7d11.ipv6dyn.netcologne.de) (Ping timeout: 246 seconds)
2025-12-02 12:51:55 +0100 <kuribas> Maybe just a ST or IO monad, with Streamly or ListT stored into IORefs.
2025-12-02 12:39:06 +0100 <kuribas> conduit can only await from a single source
2025-12-02 12:36:52 +0100ttybitnik(~ttybitnik@user/wolper) ttybitnik
2025-12-02 12:35:45 +0100 <kuribas> Instead of "x <- await", "x <- await routineA".
2025-12-02 12:35:24 +0100 <kuribas> Is there a corouting library that can allow you to take arbitrary routines as argument?
2025-12-02 12:27:25 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-12-02 12:22:36 +0100xff0x(~xff0x@2405:6580:b080:900:b577:52ee:470:5943)
2025-12-02 12:20:49 +0100Googulator7(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
2025-12-02 12:20:42 +0100Googulator56(~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
2025-12-02 12:17:50 +0100wbooze(~wbooze@cgn-195-14-217-157.nc.de) Inline
2025-12-02 12:16:40 +0100wbooze(~wbooze@cgn-195-14-217-157.nc.de) (Quit: Leaving)
2025-12-02 12:15:47 +0100trickard_(~trickard@cpe-85-98-47-163.wireline.com.au)
2025-12-02 12:15:32 +0100trickard(~trickard@cpe-85-98-47-163.wireline.com.au) (Read error: Connection reset by peer)