2024-10-03 00:01:09 +0200 | <haskellbridge> | <sm> "hell" on HN: https://news.ycombinator.com/item?id=41694767 |
2024-10-03 00:01:34 +0200 | <probie> | % let{f x=print x>>pure x;tleft=fmap($ []).foldr(\x k -> liftA2(flip(.))k(fmap(:)x))(pure$id)}in tleft $ map f [1..5] -- Probably worse than two reverses because it spills the list to the stack |
2024-10-03 00:01:34 +0200 | <yahb2> | 5 ; 4 ; 3 ; 2 ; 1 ; [1,2,3,4,5] |
2024-10-03 00:02:00 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 00:05:57 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-03 00:12:48 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 00:17:16 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) (Ping timeout: 244 seconds) |
2024-10-03 00:17:24 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 00:18:49 +0200 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-10-03 00:23:16 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-10-03 00:24:27 +0200 | codaraxis | (~codaraxis@user/codaraxis) Codaraxis |
2024-10-03 00:28:20 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 00:33:04 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-03 00:33:44 +0200 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2024-10-03 00:34:33 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-10-03 00:37:12 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
2024-10-03 00:39:31 +0200 | athan | (~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!) |
2024-10-03 00:42:03 +0200 | notzmv | (~daniel@user/notzmv) (Read error: Connection reset by peer) |
2024-10-03 00:43:56 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 00:45:31 +0200 | neuroevolutus | (~neuroevol@37.19.200.152) (Ping timeout: 256 seconds) |
2024-10-03 00:48:47 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-10-03 00:50:00 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-03 00:55:08 +0200 | troojg | (~troojg@user/troojg) troojg |
2024-10-03 00:57:53 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 01:00:45 +0200 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en |
2024-10-03 01:00:50 +0200 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit) |
2024-10-03 01:02:42 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-03 01:12:43 +0200 | <c_wraith> | does STM document its consistency properties anywhere? istr it's the equivalent of read-committed, rather than fully linearizable? |
2024-10-03 01:13:15 +0200 | supercode | (~supercode@user/supercode) supercode |
2024-10-03 01:13:19 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 01:18:45 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-03 01:20:05 +0200 | <mauke> | what's the difference? |
2024-10-03 01:23:36 +0200 | <geekosaur> | I think it might be only by reference (there's a paper from Intel Research describing it) |
2024-10-03 01:24:38 +0200 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: Ping timeout (120 seconds)) |
2024-10-03 01:24:56 +0200 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) Katarushisu |
2024-10-03 01:29:39 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 01:30:07 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 244 seconds) |
2024-10-03 01:30:56 +0200 | <c_wraith> | mauke: with read-committed you can read a set of values that never would have existed together if all transactions were serialized. |
2024-10-03 01:32:30 +0200 | <geekosaur> | I don't think you can get into that situation with STM; the only such sets wouldn't be observable, because anything that could observe them would be forced to `retry` and end up with a consistent set? |
2024-10-03 01:32:34 +0200 | xff0x | (~xff0x@2405:6580:b080:900:409b:fd54:4c14:6dc) (Ping timeout: 260 seconds) |
2024-10-03 01:33:15 +0200 | <c_wraith> | hmm. possibly so. I tried a few traces that typically show that, and they did all retry with STM semantics. |
2024-10-03 01:33:18 +0200 | <geekosaur> | something observing program state from outside could potentially see such states |
2024-10-03 01:33:47 +0200 | <c_wraith> | well, something observing from the outside can see all kinds of stuff with STM |
2024-10-03 01:33:52 +0200 | <geekosaur> | yep |
2024-10-03 01:34:11 +0200 | <geekosaur> | this should all be covered in the Intel paper |
2024-10-03 01:34:19 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-03 01:40:21 +0200 | neuroevolutus | (~neuroevol@37.19.200.152) neuroevolutus |
2024-10-03 01:45:04 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 01:45:13 +0200 | xff0x | (~xff0x@2405:6580:b080:900:409b:fd54:4c14:6dc) |
2024-10-03 01:46:43 +0200 | neuroevolutus | (~neuroevol@37.19.200.152) (Ping timeout: 256 seconds) |
2024-10-03 01:49:32 +0200 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-10-03 01:49:41 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-10-03 01:55:28 +0200 | <Lears> | c_wraith: <https://www.microsoft.com/en-us/research/wp-content/uploads/2005/01/2005-ppopp-composable.pdf> (linked indirectly from Control.Concurrent.STM) is /the/ STM paper if GHC's particular form/extension of STM is what you're interested in. I imagine it has the answer you're looking for, though I'd be very surprised if such states were observable. |
2024-10-03 01:55:48 +0200 | <dolio> | c_wraith: Yeah, that's true. |
2024-10-03 01:56:06 +0200 | <c_wraith> | ugh, why did my irc client think the > is part of the link? bad client! |
2024-10-03 01:56:26 +0200 | <dolio> | This is discussed in Revisting Software Transactional Memory in Haskell. |
2024-10-03 01:56:31 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3118-adab-ad64-111d-10db-8d9d.rev.sfr.net) (Remote host closed the connection) |
2024-10-03 01:57:42 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3118-adab-f186-fae0-9a30-1276.rev.sfr.net) alexherbo2 |
2024-10-03 02:00:09 +0200 | <dolio> | Oh, I guess unless the implementation in that paper has since replaced the original implementation in GHC, because the one in that paper does ensure every transaction sees a consistent memory state (I think). |
2024-10-03 02:00:29 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 02:01:14 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3118-adab-f186-fae0-9a30-1276.rev.sfr.net) (Remote host closed the connection) |
2024-10-03 02:01:46 +0200 | <dolio> | They call the property that ensures that, 'opacity.' |
2024-10-03 02:03:57 +0200 | <c_wraith> | I'm just getting there in the paper... |
2024-10-03 02:04:50 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 02:04:55 +0200 | <c_wraith> | it would be nice to know if GHC switched inplemrntations |
2024-10-03 02:05:04 +0200 | <dolio> | Yeah. That I don't know. |
2024-10-03 02:08:51 +0200 | troojg | (~troojg@user/troojg) (Ping timeout: 276 seconds) |
2024-10-03 02:12:23 +0200 | supercode | (~supercode@user/supercode) (Quit: Client closed) |
2024-10-03 02:15:55 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 02:22:16 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-10-03 02:27:52 +0200 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-10-03 02:32:32 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 02:37:06 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 02:43:00 +0200 | nkatte | (~nkatte@191.177.174.42) (Quit: nkatte) |
2024-10-03 02:44:11 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-10-03 02:45:41 +0200 | xff0x | (~xff0x@2405:6580:b080:900:409b:fd54:4c14:6dc) (Ping timeout: 248 seconds) |
2024-10-03 02:48:05 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 02:50:03 +0200 | acidjnk | (~acidjnk@p200300d6e72cfb85cd0cf194bbc9b0a3.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2024-10-03 02:55:04 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 02:55:12 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-10-03 03:01:32 +0200 | paddymahoney | (~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) (Ping timeout: 272 seconds) |
2024-10-03 03:06:11 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2024-10-03 03:06:17 +0200 | paddymahoney | (~paddymaho@pool-99-250-10-137.cpe.net.cable.rogers.com) |
2024-10-03 03:06:18 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 03:11:16 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-03 03:12:07 +0200 | weary-traveler | (~user@user/user363627) user363627 |
2024-10-03 03:21:45 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 03:27:42 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 03:33:06 +0200 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 246 seconds) |
2024-10-03 03:38:27 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 03:42:13 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-10-03 03:42:24 +0200 | shailangsa | (~shailangs@host86-182-139-82.range86-182.btcentralplus.com) shailangsa |
2024-10-03 03:43:05 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 03:47:05 +0200 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
2024-10-03 03:50:10 +0200 | athan | (~athan@syn-098-153-145-140.biz.spectrum.com) athan |
2024-10-03 03:54:11 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 03:58:59 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-03 04:09:42 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 04:14:35 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-10-03 04:19:25 +0200 | td_ | (~td@i5387093C.versanet.de) (Ping timeout: 265 seconds) |
2024-10-03 04:20:56 +0200 | td_ | (~td@i5387091A.versanet.de) td_ |
2024-10-03 04:25:24 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-10-03 04:26:46 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) Codaraxis |
2024-10-03 04:29:40 +0200 | Digitteknohippie | (~user@user/digit) Digit |
2024-10-03 04:29:54 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
2024-10-03 04:29:54 +0200 | Digit | (~user@user/digit) (Ping timeout: 260 seconds) |
2024-10-03 04:29:54 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Ping timeout: 260 seconds) |
2024-10-03 04:30:02 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-10-03 04:31:17 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) lambdabot |
2024-10-03 04:31:17 +0200 | ChanServ | +v lambdabot |