Newest at the top
2025-02-02 01:31:14 +0100 | <monochrom> | I suspect that "block access" means something that has nothing to do with "block" or "access" because supposedly everyone already knows that if you don't want a certain function to use a certain argument then just don't have that argument in the first place, so why the question. |
2025-02-02 01:29:17 +0100 | dysthesis | (~dysthesis@user/dysthesis) (Client Quit) |
2025-02-02 01:28:33 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-02-02 01:24:39 +0100 | dysthesis | (~dysthesis@user/dysthesis) dysthesis |
2025-02-02 01:24:19 +0100 | dysthesis | (~dysthesis@user/dysthesis) (Client Quit) |
2025-02-02 01:23:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-02 01:23:30 +0100 | dysthesis | (~dysthesis@user/dysthesis) dysthesis |
2025-02-02 01:19:30 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-02 01:17:43 +0100 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 265 seconds) |
2025-02-02 01:15:06 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-02 01:12:54 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-02 01:08:09 +0100 | alist | (~alist@108-224-153-186.lightspeed.cicril.sbcglobal.net) |
2025-02-02 01:06:29 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-02 01:02:40 +0100 | <Leary> | sim590: For pretend-interleaved STM and IO I like to use `newtype Atom a = Atom (WriterT (IO ()) STM a); io :: IO () -> Atom (); stm :: STM a -> Atom a; atom :: Atom a -> IO a`---might at least help you structure things. |
2025-02-02 01:01:37 +0100 | yushyin | (qjh7DQNxXf@mail.karif.server-speed.net) yushyin |
2025-02-02 01:00:31 +0100 | <sim590> | Yeah. Well. I can't say for now. I guess, I'll see! :D |
2025-02-02 00:55:41 +0100 | <geekosaur> | that, or you have a very wrong model of concurrent access which you will need to figure out before this will work with either |
2025-02-02 00:55:34 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
2025-02-02 00:55:24 +0100 | <sim590> | OK. I'll try to inflate my brain so I can do what I need only using TVars. Up to now, I think I can do it. |
2025-02-02 00:54:20 +0100 | <EvanR> | but there's a "trust me" trap door for that in which all bets are off if your I/O matters |
2025-02-02 00:53:46 +0100 | <EvanR> | it's just that you generally can't do IO in the middle of a transaction |
2025-02-02 00:53:01 +0100 | <geekosaur> | but if that's really what you want to do, just use an IORef |
2025-02-02 00:52:49 +0100 | alp | (~alp@2001:861:8ca0:4940:e7c0:2b3f:562a:38cb) (Ping timeout: 248 seconds) |
2025-02-02 00:52:35 +0100 | <Leary> | sim590: You can't ever block access to a `TVar`. You instead hide inconsistent states within atomic transactions, so you don't need to. |
2025-02-02 00:52:34 +0100 | <geekosaur> | oh yes, it'll happily let you make a mess |
2025-02-02 00:52:28 +0100 | <EvanR> | anything you can do with an MVar you can do with a TVar (Maybe a) |
2025-02-02 00:51:07 +0100 | tabemann | (~tabemann@8.9.45.41) tabemann |
2025-02-02 00:51:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-02 00:50:52 +0100 | s4msung | (DQyKc40dMf@user/s4msung) s4msung |
2025-02-02 00:50:06 +0100 | <sim590> | geekosaur: Yeah, I understand. But, then, if I'm not mistaken, that is something I could be doing with MVars though? |
2025-02-02 00:48:34 +0100 | s4msung | (wBrkYH9KHh@user/s4msung) (Ping timeout: 248 seconds) |
2025-02-02 00:48:33 +0100 | yushyin | (CinQEuz8mT@mail.karif.server-speed.net) (Ping timeout: 248 seconds) |
2025-02-02 00:42:05 +0100 | <geekosaur> | correct and deliberately so. how do you retry an IO action? |
2025-02-02 00:41:18 +0100 | <sim590> | geekosaur: it doesn't seem like it's possible to block access to a TVar while doing an IO action. All I can do is STM action and STM is not MonadIO. Am I correct? |
2025-02-02 00:41:03 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2025-02-02 00:35:06 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
2025-02-02 00:32:23 +0100 | dispater | (~dispater@mail.brprice.uk) |
2025-02-02 00:31:51 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 276 seconds) |
2025-02-02 00:31:38 +0100 | dispater | (~dispater@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in) |
2025-02-02 00:30:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-02 00:27:02 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-02 00:24:00 +0100 | monochrm | monochrom |
2025-02-02 00:24:00 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 246 seconds) |
2025-02-02 00:22:55 +0100 | olivial | (~benjaminl@user/benjaminl) benjaminl |
2025-02-02 00:22:10 +0100 | monochrm | (trebla@216.138.220.146) |
2025-02-02 00:19:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
2025-02-02 00:17:33 +0100 | harveypwca | (~harveypwc@2601:246:d080:f6e0:34b5:bbb2:c6c:1ef6) (Quit: Leaving) |
2025-02-02 00:13:39 +0100 | olivial | (~benjaminl@user/benjaminl) (Ping timeout: 276 seconds) |
2025-02-02 00:12:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-02-02 00:05:12 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |