2024/12/22

Newest at the top

2024-12-22 07:31:44 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-22 07:27:55 +0100agent314(~quassel@149.40.50.111) agent314
2024-12-22 07:27:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 07:16:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-22 07:15:24 +0100tnt2tnt1
2024-12-22 07:15:24 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 265 seconds)
2024-12-22 07:14:22 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2024-12-22 07:12:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 07:03:30 +0100tnt2tnt1
2024-12-22 07:03:30 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 252 seconds)
2024-12-22 07:03:21 +0100housemate_(~housemate@124.187.109.206) (Remote host closed the connection)
2024-12-22 07:02:50 +0100housemate(~housemate@124.187.109.206) (Ping timeout: 265 seconds)
2024-12-22 07:01:56 +0100tnt2(~Thunderbi@user/tnt1) tnt1
2024-12-22 07:01:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-22 07:00:22 +0100housemate_(~housemate@124.187.109.206) housemate
2024-12-22 06:56:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 06:50:45 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 265 seconds)
2024-12-22 06:47:00 +0100CrunchyFlakes(~CrunchyFl@31.19.233.78)
2024-12-22 06:46:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-22 06:46:10 +0100alecs(~alecs@61.pool85-58-154.dynamic.orange.es) alecs
2024-12-22 06:44:30 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-12-22 06:41:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 06:39:28 +0100tnt1(~Thunderbi@user/tnt1) tnt1
2024-12-22 06:33:05 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 248 seconds)
2024-12-22 06:30:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-22 06:25:54 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 06:25:14 +0100ryanbooker(uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-12-22 06:23:54 +0100 <monochrom> Having said that, if you say you are only using GHC, then you know it almost sticks to "use lazy for non-strict, use eager for strict". But there are occasional deviations when the code optimizer thinks it's more efficient to do it some other way.
2024-12-22 06:21:38 +0100 <haskellbridge> <Bowuigi> I see, yeah Haskell can be hard to understand sometimes lol
2024-12-22 06:17:53 +0100poscat0x04(~poscat@user/poscat) poscat
2024-12-22 06:17:42 +0100poscat(~poscat@user/poscat) (Read error: Connection reset by peer)
2024-12-22 06:17:32 +0100 <monochrom> Denotational semantics strives to (even prides in) avoid talking about them.
2024-12-22 06:16:58 +0100 <monochrom> Yes absolutely. If you want to predict how much time and how much space are spent, they emphatically require knowing the evaluation strategy, i.e., operational.
2024-12-22 06:15:40 +0100 <haskellbridge> <Bowuigi> So the duplication is operational right?
2024-12-22 06:14:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-22 06:13:46 +0100 <monochrom> So even the "eager : lazy :: strict : non-strict" "correspondence" is easily broken.
2024-12-22 06:13:16 +0100 <monochrom> there is also speculative evaluation, it can result in non-strict while being even more eager than eager.
2024-12-22 06:13:16 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-12-22 06:12:44 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-12-22 06:12:34 +0100 <haskellbridge> <Bowuigi> Oh there we go
2024-12-22 06:12:19 +0100 <haskellbridge> <Bowuigi> That's why I prefer working with total languages lol
2024-12-22 06:12:09 +0100 <monochrom> eager and lazy
2024-12-22 06:12:02 +0100 <monochrom> denotational means you only talk about whether you get an answer and what answer if yes, it deliberately avoids how the computer manages to do it.
2024-12-22 06:11:46 +0100 <haskellbridge> <Bowuigi> So what do you call the operational notion?
2024-12-22 06:10:45 +0100 <monochrom> Ugh no, strictness is a denotational notion, not an operational (evaluation) notion. A strict function means f bottom = bottom.
2024-12-22 06:10:45 +0100Guest78(~Guest78@213.233.155.134)
2024-12-22 06:10:10 +0100Guest78(~Guest78@37.228.252.73) (Ping timeout: 240 seconds)
2024-12-22 06:09:37 +0100 <haskellbridge> <Bowuigi> Strict evaluation would evaluate the value once and possibly duplicate other computations inside that value
2024-12-22 06:08:37 +0100 <haskellbridge> <Bowuigi> Space leaks are caused by duplication of code, code is duplicated wherever variables are duplicated in lazy evaluation
2024-12-22 06:07:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn