| 2026-01-05 00:00:03 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
| 2026-01-05 00:00:42 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2026-01-05 00:03:36 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 00:04:06 +0100 | gorignak | (~gorignak@user/gorignak) (Client Quit) |
| 2026-01-05 00:05:31 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2026-01-05 00:05:42 +0100 | gorignak | (~gorignak@user/gorignak) (Remote host closed the connection) |
| 2026-01-05 00:10:05 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-01-05 00:17:16 +0100 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) () |
| 2026-01-05 00:17:16 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 00:17:39 +0100 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) DetourNetworkUK |
| 2026-01-05 00:22:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-05 00:30:26 +0100 | olivial | (~benjaminl@user/benjaminl) (Remote host closed the connection) |
| 2026-01-05 00:32:10 +0100 | olivial | (~benjaminl@user/benjaminl) benjaminl |
| 2026-01-05 00:33:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 00:33:02 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2026-01-05 00:35:33 +0100 | mange | (~mange@user/mange) mange |
| 2026-01-05 00:36:29 +0100 | machinedgod | (~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod |
| 2026-01-05 00:38:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-05 00:43:08 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2026-01-05 00:47:40 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 246 seconds) |
| 2026-01-05 00:49:05 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 00:50:27 +0100 | ttybitnik | (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 2026-01-05 00:53:00 +0100 | pavonia | (~user@user/siracusa) siracusa |
| 2026-01-05 00:53:34 +0100 | Square3 | (~Square@user/square) Square |
| 2026-01-05 00:54:06 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-01-05 01:02:59 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
| 2026-01-05 01:04:02 +0100 | <haskellbridge> | <maerwald> sm: what is sad about a stable and well working GHC release? |
| 2026-01-05 01:04:40 +0100 | <haskellbridge> | <maerwald> Should we switch to 9.8 which is abandoned or to 9.10 which has two minor broken releases (including the last one)? |
| 2026-01-05 01:05:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 01:05:17 +0100 | <haskellbridge> | <maerwald> 'recommended' isn't for people who want to follow the latest releases. |
| 2026-01-05 01:06:57 +0100 | <haskellbridge> | <maerwald> Sorry, 9.12 is the one that's broken... I'm starting to mix up all the broken releases |
| 2026-01-05 01:10:01 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-01-05 01:10:11 +0100 | <haskellbridge> | <sm> @maerwald that's a fine thing of course. I acknowledged the no doubt excellent reasons in the linked discussion with my thumbs up. I called it sad mainly because as an experienced haskeller I expect many difficulties building current projects or using tools, and many known limitations, with those older ghc versions. |
| 2026-01-05 01:10:15 +0100 | <haskellbridge> | <maerwald> 9.6 is documented as suitable for use: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status |
| 2026-01-05 01:10:41 +0100 | <haskellbridge> | <maerwald> sm: What difficulties? |
| 2026-01-05 01:12:15 +0100 | <haskellbridge> | <sm> i don't have a list handy. But in my time as a maintainer and packager I've worked around a ton of ghc version and platform specific bugs or limitations |
| 2026-01-05 01:14:21 +0100 | <haskellbridge> | <maerwald> What limitations? |
| 2026-01-05 01:14:38 +0100 | <haskellbridge> | <maerwald> Why is 9.6 more limited than 9.10? |
| 2026-01-05 01:15:58 +0100 | <haskellbridge> | <sm> I did not prepare a list in advance of this chat have forgotten them for the moment. I could go digging in my issue tracker but it's not important |
| 2026-01-05 01:18:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 01:19:24 +0100 | <haskellbridge> | <maerwald> If you make this claim then I think it's important |
| 2026-01-05 01:20:18 +0100 | <haskellbridge> | <sm> I mean, I would make the effort if you are truly considering bumping the recommendation. I assume you've seen them all though and will bump when you judge best |
| 2026-01-05 01:20:30 +0100 | <haskellbridge> | <maerwald> My experience in 10 years of Haskell shows that the difficulties and limitations lie within NEW GHC versions. |
| 2026-01-05 01:20:41 +0100 | <haskellbridge> | <maerwald> There's a whole github repo dedicated to it |
| 2026-01-05 01:21:07 +0100 | <haskellbridge> | <sm> of course those exist too |
| 2026-01-05 01:21:23 +0100 | <haskellbridge> | <maerwald> https://github.com/tomjaguarpaw/tilapia |
| 2026-01-05 01:21:34 +0100 | <haskellbridge> | <maerwald> And tooling works fine with 9.6 |
| 2026-01-05 01:21:46 +0100 | <haskellbridge> | <maerwald> It doesn't work as fine with new GHC versions |
| 2026-01-05 01:21:50 +0100 | <haskellbridge> | <maerwald> That's a fact |
| 2026-01-05 01:22:24 +0100 | <haskellbridge> | <maerwald> So I think your claim is wrong |
| 2026-01-05 01:23:22 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-01-05 01:23:27 +0100 | <haskellbridge> | <sm> fair enough, I won't argue with you |
| 2026-01-05 01:25:16 +0100 | <haskellbridge> | <sm> and as always, thank you for your work, it's appreciated |
| 2026-01-05 01:27:36 +0100 | <haskellbridge> | <maerwald> But going forward, GHCup will follow GHCs official LTS releases most likely |
| 2026-01-05 01:27:53 +0100 | <haskellbridge> | <maerwald> Once they've matured, that is |
| 2026-01-05 01:28:11 +0100 | <haskellbridge> | <sm> that'll be great, I'm looking forward to it |
| 2026-01-05 01:28:52 +0100 | <haskellbridge> | <maerwald> An LTS release is decided beforehand with no knowledge about its quality. So we'll probably wait until the micro version is at 3 or higher |
| 2026-01-05 01:30:35 +0100 | <haskellbridge> | <sm> or if it's so good there's no minor release for a year, you might make an exception ? |
| 2026-01-05 01:32:08 +0100 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 260 seconds) |
| 2026-01-05 01:32:15 +0100 | <haskellbridge> | <sm> rather unlikely I suppose |
| 2026-01-05 01:32:49 +0100 | zlqrvx | (~zlqrvx@user/zlqrvx) (Quit: connection reset by purr) |
| 2026-01-05 01:32:57 +0100 | GdeVolpiano | (~GdeVolpia@user/GdeVolpiano) GdeVolpiano |
| 2026-01-05 01:33:54 +0100 | zlqrvx | (~zlqrvx@user/zlqrvx) zlqrvx |
| 2026-01-05 01:34:23 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 01:38:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-05 01:40:17 +0100 | spew | (~spew@user/spew) (Quit: nyaa~) |
| 2026-01-05 01:50:11 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 01:55:13 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-01-05 02:05:54 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 02:06:30 +0100 | omidmash1 | (~omidmash@user/omidmash) omidmash |
| 2026-01-05 02:08:47 +0100 | omidmash | (~omidmash@user/omidmash) (Ping timeout: 256 seconds) |
| 2026-01-05 02:08:47 +0100 | omidmash1 | omidmash |
| 2026-01-05 02:09:49 +0100 | jmcantrell_ | (~weechat@user/jmcantrell) jmcantrell |
| 2026-01-05 02:11:02 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-01-05 02:20:10 +0100 | Tuplanolla | (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2026-01-05 02:20:37 +0100 | <oats> | why does so much code in base and ghc use `case` for binding instead of `let` or `where`? like here: https://hackage-content.haskell.org/package/ghc-internal-9.1401.0/docs/src/GHC.Internal.Arr.html#n… |
| 2026-01-05 02:21:14 +0100 | <c_wraith> | let/where create a thunk when they match on a pattern. case forces evaluation. |
| 2026-01-05 02:21:38 +0100 | <c_wraith> | > let Just x = Nothing in () |
| 2026-01-05 02:21:38 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-01-05 02:22:25 +0100 | <c_wraith> | huh. lambdabot isn't in here right now |
| 2026-01-05 02:22:53 +0100 | <EvanR> | let x = whatever in y, a thunk makes sense |
| 2026-01-05 02:23:15 +0100 | <EvanR> | but let Pattern x y z = hopefullyPattern in e ? |
| 2026-01-05 02:23:30 +0100 | <EvanR> | doesn't immediately evaluate? |
| 2026-01-05 02:23:32 +0100 | <c_wraith> | Well, anyway. (let Just x = Nothing in ()) evaluates to (). (case Nothing of Just x -> ()) is a pattern match error. |
| 2026-01-05 02:24:09 +0100 | <EvanR> | % let Just x = Nothing in () |
| 2026-01-05 02:24:09 +0100 | <yahb2> | <interactive>:153:5: warning: [GHC-53633] [-Woverlapping-patterns] ; Pattern match is redundant ; In a pattern binding: Just x = ... ; ; () |
| 2026-01-05 02:24:21 +0100 | lambdabot | (~lambdabot@haskell/bot/lambdabot) lambdabot |
| 2026-01-05 02:24:21 +0100 | ChanServ | +v lambdabot |
| 2026-01-05 02:24:49 +0100 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2026-01-05 02:24:57 +0100 | <c_wraith> | EvanR: Irrefutable matches just create thunks. and in a let/where, matches are irrefutable by default. |
| 2026-01-05 02:25:00 +0100 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2026-01-05 02:26:15 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2026-01-05 02:26:26 +0100 | <EvanR> | wow |
| 2026-01-05 02:27:34 +0100 | <c_wraith> | > case undefined of ~(a, b) -> () -- you can use ~ to make a match in a case irrefutable |
| 2026-01-05 02:27:35 +0100 | <lambdabot> | () |
| 2026-01-05 02:27:59 +0100 | jj_ | (~apropos@node-1w7jr9pqogh9vahu1mvneock5.ipv6.telus.net) omentic |
| 2026-01-05 02:28:00 +0100 | <oats> | % case undefined of (a,b) -> () |
| 2026-01-05 02:28:00 +0100 | <yahb2> | *** Exception: Prelude.undefined ; ; HasCallStack backtrace: ; undefined, called at <interactive>:155:6 in interactive:Ghci16 |
| 2026-01-05 02:28:11 +0100 | <int-e> | it probably got blocked by +r |
| 2026-01-05 02:28:39 +0100 | jj | (~apropos@d154-20-120-135.bchsia.telus.net) (Ping timeout: 244 seconds) |
| 2026-01-05 02:28:39 +0100 | jj_ | jj |
| 2026-01-05 02:28:40 +0100 | <int-e> | (lamdbabot was perfectly alive, just not joined here) |
| 2026-01-05 02:28:50 +0100 | <c_wraith> | int-e: ah, you're still running lambdabot? I wasn't sure. |
| 2026-01-05 02:29:09 +0100 | <oats> | and irrefutable patterns are lazy? |
| 2026-01-05 02:29:40 +0100 | <oats> | % case undefined of ~(a,b) -> b |
| 2026-01-05 02:29:40 +0100 | <yahb2> | *** Exception: Prelude.undefined ; ; HasCallStack backtrace: ; undefined, called at <interactive>:157:6 in interactive:Ghci16 |
| 2026-01-05 02:29:49 +0100 | <oats> | t'would appear |
| 2026-01-05 02:29:56 +0100 | <c_wraith> | Yeah. "irrefutable" is a slightly weird way of saying "trust the programmer, you don't need to check this immediately" |
| 2026-01-05 02:30:33 +0100 | <int-e> | c_wraith: yes |