Home liberachat/#haskell: Logs Calendar

Logs on 2024-09-16 (liberachat/#haskell)

00:00:51 <monochrom> Without ExtendedDefaultRules, that's an ambiguous type error. With ExtendedDefaultRules, () is chosen. I still don't know how to get Any.
00:02:06 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:05:04 × troojg quits (~troojg@user/troojg) (Ping timeout: 260 seconds)
00:05:24 <geekosaur> oh, looks like it went away in recent versions. (more correctly, it's a type family instead of a type, so you won't see it)
00:06:26 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:e8aa:5287:babe:ddb5)
00:06:43 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
00:08:01 <geekosaur> and yes, in simple cases it won't get used, so the `print []` example won't work anyway. it's the complex cases (of which I have none on tap; they're somewhat rare) where Any rears (reared?) its ugly head
00:08:45 <monochrom> Yeah I saw Any some years ago too.
00:10:57 <geekosaur> yeh, I tried some things in yahb2 and can't get it
00:11:11 JuanDaugherty joins (~juan@user/JuanDaugherty)
00:15:24 <monochrom> OK found it, it's -ddump-simpl : https://github.com/haskell/play-haskell/blob/master/play-haskell-worker/bwrap-files/stage-3.sh#L41
00:17:19 <monochrom> (For /builders/build-*.sh, it's possibly generated by https://github.com/haskell/play-haskell/blob/master/play-haskell-worker/bwrap-files/mkbuildscript.sh )
00:17:41 <monochrom> (So wait, there is such a thing as "ghcup run"??!!! haha)
00:18:32 <haskellbridge> <maerwald> Yes
00:18:40 <monochrom> Oh interesting, "ghcup run foo" runs foo under additions to PATH so you don't have to permanently add things to PATH if you don't want to.
00:18:41 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
00:19:11 <geekosaur> ghcup run --ghc $(API_GHC) -- print-api --package-name Cabal-syntax >Cabal-syntax-$(API_GHC).api
00:19:24 <haskellbridge> <maerwald> This is heavily used in the vscode extension too
00:19:31 <geekosaur> (from a work-in-progress)
00:19:32 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:19:37 <haskellbridge> <maerwald> To emulate stack like behavior
00:24:06 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
00:24:59 <EvanR> see ghcup run
00:25:02 <EvanR> run ghcup run
00:35:59 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:40:56 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
00:50:51 rosco joins (~rosco@175.136.158.234)
00:53:30 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
00:57:52 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:09:53 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:14:22 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:18:40 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
01:21:29 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
01:24:50 × hueso quits (~root@user/hueso) (Quit: hueso)
01:26:44 hueso joins (~root@user/hueso)
01:26:56 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:27:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:32:20 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:36:07 athan joins (~athan@syn-098-153-145-140.biz.spectrum.com)
01:39:25 caconym8 joins (~caconym@user/caconym)
01:41:19 × caconym quits (~caconym@user/caconym) (Ping timeout: 260 seconds)
01:41:19 caconym8 is now known as caconym
01:42:46 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:45:16 × synchromesh quits (~john@2406:5a00:241a:5600:71fc:6cae:c163:498e) (Quit: WeeChat 4.0.5)
01:47:44 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
01:56:37 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
01:58:46 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
02:01:55 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
02:03:05 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
02:05:20 × dyniec quits (~dyniec@dybiec.info) (Quit: WeeChat 4.2.2)
02:14:06 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
02:14:36 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 252 seconds)
02:17:32 synchromesh joins (~john@2406:5a00:241a:5600:1882:dbb1:c93f:cb96)
02:18:39 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
02:25:37 × rosco quits (~rosco@175.136.158.234) (Quit: Lost terminal)
02:31:38 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
02:32:17 rosco joins (~rosco@175.136.158.234)
02:36:09 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
02:40:53 × td_ quits (~td@i5387091C.versanet.de) (Ping timeout: 252 seconds)
02:42:43 td_ joins (~td@i53870903.versanet.de)
02:47:27 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
02:51:54 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:04:03 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:08:23 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:22:12 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:23:48 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
03:26:44 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:29:14 neuroevolutus joins (~neuroevol@37.19.200.165)
03:29:15 <Leary> I'm late, but re -Wall: yes it errs on the side of being too loud, because it /should/. Blacklisting the few warnings you don't care about is easier than whitelisting all the ones you do---just turn off the noise as it reaches you.
03:32:46 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
03:34:17 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
03:38:04 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:42:33 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
03:45:23 × hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
03:54:31 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
03:56:13 michalz joins (~michalz@185.246.207.222)
03:57:45 × neuroevolutus quits (~neuroevol@37.19.200.165) (Ping timeout: 256 seconds)
03:59:13 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
04:06:06 × rosco quits (~rosco@175.136.158.234) (Quit: Lost terminal)
04:07:15 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:e8aa:5287:babe:ddb5) (Quit: WeeChat 4.4.2)
04:10:54 neuroevolutus joins (~neuroevol@37.19.200.139)
04:11:02 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
04:11:52 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:14:29 hiecaq joins (~hiecaq@user/hiecaq)
04:14:41 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
04:15:43 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
04:16:38 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
04:18:43 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
04:22:17 × athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!)
04:23:12 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:23:51 × sourcetarius quits (~sourcetar@user/sourcetarius) (Ping timeout: 246 seconds)
04:29:05 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
04:33:28 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:43:37 × dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.8.2 - https://znc.in)
04:45:39 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:46:04 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
04:49:58 athan joins (~athan@syn-098-153-145-140.biz.spectrum.com)
04:50:47 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
04:50:50 dolio joins (~dolio@130.44.140.168)
05:01:37 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
05:03:41 × nek0 quits (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
05:06:05 billchenchina- joins (~billchenc@103.152.35.21)
05:06:06 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:06:48 × dolio quits (~dolio@130.44.140.168) (Ping timeout: 244 seconds)
05:08:32 misterfish joins (~misterfis@84.53.85.146)
05:13:55 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
05:17:11 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
05:21:34 nek0 joins (~nek0@user/nek0)
05:21:36 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
05:22:41 euphores joins (~SASL_euph@user/euphores)
05:27:14 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 260 seconds)
05:28:19 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
05:30:03 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:30:38 euleritian joins (~euleritia@dynamic-176-006-133-045.176.6.pool.telefonica.de)
05:35:18 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
05:36:21 × neuroevolutus quits (~neuroevol@37.19.200.139) (Ping timeout: 256 seconds)
05:43:24 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
05:47:15 acidjnk joins (~acidjnk@p200300d6e72cfb571c92fe2f1c989eb0.dip0.t-ipconnect.de)
05:48:54 × jle` quits (~jle`@2603:8001:3b02:84d4:1413:617c:6ead:3f73) (Ping timeout: 246 seconds)
05:49:56 jle` joins (~jle`@2603:8001:3b02:84d4:6c44:9933:28ff:d264)
05:56:29 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:01:06 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:01:29 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
06:04:17 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 265 seconds)
06:07:36 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
06:09:35 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
06:11:50 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
06:12:11 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:16:33 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
06:23:01 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:25:15 × synchromesh quits (~john@2406:5a00:241a:5600:1882:dbb1:c93f:cb96) (Read error: Connection reset by peer)
06:26:08 synchromesh joins (~john@2406:5a00:241a:5600:1882:dbb1:c93f:cb96)
06:30:05 synchrom1 joins (~john@2406:5a00:241a:5600:1882:dbb1:c93f:cb96)
06:30:16 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:31:20 × spew quits (~spew@201.141.99.170) (Quit: spew)
06:32:23 × hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
06:32:33 × synchromesh quits (~john@2406:5a00:241a:5600:1882:dbb1:c93f:cb96) (Ping timeout: 252 seconds)
06:33:07 synchromesh joins (~john@203.94.52.182)
06:33:44 hiecaq joins (~hiecaq@user/hiecaq)
06:34:33 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
06:35:29 × synchrom1 quits (~john@2406:5a00:241a:5600:1882:dbb1:c93f:cb96) (Ping timeout: 260 seconds)
06:40:05 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
06:41:39 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
06:45:06 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:46:38 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
06:47:29 JuanDaugherty joins (~juan@user/JuanDaugherty)
06:53:31 × euleritian quits (~euleritia@dynamic-176-006-133-045.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
06:53:47 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
06:53:59 × mankyKitty quits (sid31287@id-31287.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
06:56:57 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
07:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
07:00:02 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
07:00:24 × hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
07:00:43 caconym8 joins (~caconym@user/caconym)
07:00:51 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:01:36 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:01:54 hiecaq joins (~hiecaq@user/hiecaq)
07:03:09 mreh joins (~matthew@host86-160-168-12.range86-160.btcentralplus.com)
07:11:07 <tomsmeding> Leary: maybe STG is better! I don't actually know enough about that space to say much about it, lol.
07:12:36 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
07:13:51 <tomsmeding> Leary: what would be the right flag? -ddump-stg-from-core, -ddump-stg-final, or yet something else?
07:14:33 × hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
07:15:42 <tomsmeding> Leary: yahb2 is on the currently ghcup-recommended GHC version: 9.4.8 :p
07:15:49 <tomsmeding> but why the hell not, let's upgrade
07:16:59 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:20:42 ash3en joins (~Thunderbi@89.246.174.164)
07:24:10 <tomsmeding> monochrom: thanks for the additional context about stg vs core
07:24:42 <tomsmeding> and you did find the Core flags, indeed :)
07:24:53 <tomsmeding> the build scripts are indeed generated by mkbuildscript.sh
07:25:03 × ash3en quits (~Thunderbi@89.246.174.164) (Ping timeout: 252 seconds)
07:25:54 <tomsmeding> monochrom: if you're curious, here is one such generated script https://tomsmeding.com/vang/JvLCi6/build-9.4.8.sh
07:26:53 × yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (Remote host closed the connection)
07:27:05 yahb2 joins (~yahb2@user/tomsmeding/bot/yahb2)
07:27:05 ChanServ sets mode +v yahb2
07:27:32 hiecaq joins (~hiecaq@user/hiecaq)
07:29:05 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
07:30:56 kuribas joins (~user@ptr-17d51ep30d5d4whlz0c.18120a2.ip6.access.telenet.be)
07:31:09 lxsameer joins (~lxsameer@Serene/lxsameer)
07:33:30 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:33:42 ash3en joins (~Thunderbi@89.246.174.164)
07:34:15 srazkvt joins (~sarah@user/srazkvt)
07:39:10 gmg joins (~user@user/gehmehgeh)
07:39:18 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:40:46 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
07:40:54 × yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (Remote host closed the connection)
07:41:04 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
07:41:06 yahb2 joins (~yahb2@user/tomsmeding/bot/yahb2)
07:41:06 ChanServ sets mode +v yahb2
07:41:10 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:41:28 <tomsmeding> % System.Process.system "ghci --version" -- Leary
07:41:29 <yahb2> The Glorious Glasgow Haskell Compilation System, version 9.10.1 ; ExitSuccess
07:44:16 misterfish joins (~misterfis@h239071.upc-h.chello.nl)
07:45:06 <JuanDaugherty> expeditious
07:45:38 CiaoSen joins (~Jura@2a05:5800:24c:f900:ca4b:d6ff:fec1:99da)
07:45:57 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:46:23 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
07:56:56 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
07:57:54 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
08:02:37 × hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
08:04:22 cfricke joins (~cfricke@user/cfricke)
08:04:59 mari-estel joins (~mari-este@p578af18c.dip0.t-ipconnect.de)
08:05:03 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
08:08:00 × turlando quits (~turlando@user/turlando) ()
08:09:28 turlando joins (~turlando@user/turlando)
08:16:27 × turlando quits (~turlando@user/turlando) (Read error: Connection reset by peer)
08:17:20 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
08:18:38 turlando joins (~turlando@user/turlando)
08:19:11 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:21:54 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
08:24:41 __monty__ joins (~toonn@user/toonn)
08:30:54 druchan joins (uid567859@id-567859.lymington.irccloud.com)
08:32:58 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
08:33:49 × druchan quits (uid567859@id-567859.lymington.irccloud.com) (Changing host)
08:33:49 druchan joins (uid567859@user/druchan)
08:33:56 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:34:19 × ash3en quits (~Thunderbi@89.246.174.164) (Ping timeout: 264 seconds)
08:37:59 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
08:42:09 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
08:44:45 × srazkvt quits (~sarah@user/srazkvt) (Ping timeout: 265 seconds)
08:46:45 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
08:49:01 ash3en joins (~Thunderbi@89.246.174.164)
08:51:51 ash3en1 joins (~Thunderbi@193.32.248.167)
08:53:41 × ash3en quits (~Thunderbi@89.246.174.164) (Ping timeout: 248 seconds)
08:56:29 × ash3en1 quits (~Thunderbi@193.32.248.167) (Ping timeout: 260 seconds)
08:59:22 srazkvt joins (~sarah@user/srazkvt)
09:00:06 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
09:02:58 ash3en joins (~Thunderbi@193.32.248.167)
09:04:33 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
09:06:12 hiecaq joins (~hiecaq@user/hiecaq)
09:16:48 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
09:17:59 hiecaq` joins (~hiecaq@user/hiecaq)
09:18:03 × hiecaq` quits (~hiecaq@user/hiecaq) (Read error: Connection reset by peer)
09:18:03 × hiecaq quits (~hiecaq@user/hiecaq) (Read error: Connection reset by peer)
09:18:18 Square2 joins (~Square4@user/square)
09:18:56 hiecaq joins (~hiecaq@user/hiecaq)
09:24:14 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
09:24:57 × misterfish quits (~misterfis@h239071.upc-h.chello.nl) (Ping timeout: 276 seconds)
09:30:11 × kuribas quits (~user@ptr-17d51ep30d5d4whlz0c.18120a2.ip6.access.telenet.be) (Ping timeout: 265 seconds)
09:32:46 misterfish joins (~misterfis@87.215.131.102)
09:33:58 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:36:15 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
09:37:15 <haskellbridge> <maerwald> tomsmeding: because GHC 9.6 is broken on FreeBSD
09:37:18 <haskellbridge> <maerwald> that's the main reason
09:37:37 <haskellbridge> <maerwald> 'recommended' is one of the few leverages I have over GHC developers... and I make use of it.
09:38:24 <haskellbridge> <maerwald> otherwise I'll be dragged through the mud and accept all regressions :P
09:38:38 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
09:40:29 euleritian joins (~euleritia@dynamic-176-004-237-218.176.4.pool.telefonica.de)
09:47:03 × mari-estel quits (~mari-este@p578af18c.dip0.t-ipconnect.de) ()
09:47:20 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
09:48:02 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
09:51:49 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
09:52:22 ChaiTRex joins (~ChaiTRex@user/chaitrex)
09:55:33 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
09:55:46 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
09:56:27 <tomsmeding> maerwald: :D
09:57:24 <haskellbridge> <maerwald> https://gitlab.haskell.org/ghc/ghc/-/issues/24672
09:58:23 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
09:58:48 stiell joins (~stiell@gateway/tor-sasl/stiell)
10:00:13 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
10:00:25 <tomsmeding> sounds tricky
10:00:26 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
10:04:29 kuribas joins (~user@2a02:1808:9:3380:c5db:101c:ac65:41ef)
10:06:58 × kuribas quits (~user@2a02:1808:9:3380:c5db:101c:ac65:41ef) (Remote host closed the connection)
10:07:11 kuribas joins (~user@2a02:1808:9:3380:2291:f9cb:e161:d675)
10:11:24 ZharMeny joins (~ZharMeny@user/ZharMeny)
10:12:05 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
10:16:40 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
10:24:21 × michalz quits (~michalz@185.246.207.222) (Ping timeout: 248 seconds)
10:29:01 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
10:33:29 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
10:35:21 × CiaoSen quits (~Jura@2a05:5800:24c:f900:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds)
10:35:23 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 245 seconds)
10:37:01 michalz joins (~michalz@185.246.207.203)
10:37:46 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
10:37:59 × kuribas quits (~user@2a02:1808:9:3380:2291:f9cb:e161:d675) (Ping timeout: 244 seconds)
10:38:41 × euleritian quits (~euleritia@dynamic-176-004-237-218.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
10:38:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:40:17 cfricke joins (~cfricke@user/cfricke)
10:42:42 × ash3en quits (~Thunderbi@193.32.248.167) (Ping timeout: 252 seconds)
10:44:03 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
10:46:38 × terrorjack4 quits (~terrorjac@2a01:4f8:c17:dc9f::) (Quit: The Lounge - https://thelounge.chat)
10:48:21 terrorjack4 joins (~terrorjac@2a01:4f8:c17:dc9f::)
10:48:56 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
10:50:01 rosco joins (~rosco@175.136.158.234)
10:50:19 ash3en joins (~Thunderbi@193.32.248.167)
10:52:24 alexherbo2 joins (~alexherbo@2a02-8440-3105-65c2-20df-b5a3-7abf-bab4.rev.sfr.net)
11:02:42 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
11:03:14 × ash3en quits (~Thunderbi@193.32.248.167) (Ping timeout: 248 seconds)
11:07:16 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
11:09:54 × remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
11:10:56 remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz)
11:19:31 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
11:19:40 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
11:23:58 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 244 seconds)
11:24:08 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
11:25:23 × FragByte quits (~christian@user/fragbyte) (Quit: Quit)
11:27:17 FragByte joins (~christian@user/fragbyte)
11:34:39 × alexherbo2 quits (~alexherbo@2a02-8440-3105-65c2-20df-b5a3-7abf-bab4.rev.sfr.net) (Remote host closed the connection)
11:35:48 CiaoSen joins (~Jura@2a05:5800:24c:f900:ca4b:d6ff:fec1:99da)
11:37:43 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
11:39:10 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:42:45 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
11:44:11 alexherbo2 joins (~alexherbo@2a02-8440-3105-65c2-20df-b5a3-7abf-bab4.rev.sfr.net)
11:44:29 × alexherbo2 quits (~alexherbo@2a02-8440-3105-65c2-20df-b5a3-7abf-bab4.rev.sfr.net) (Remote host closed the connection)
11:45:11 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
11:50:31 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
11:56:28 × hueso quits (~root@user/hueso) (Quit: hueso)
12:03:21 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
12:03:33 hueso joins (~root@user/hueso)
12:04:00 sourcetarius joins (~sourcetar@user/sourcetarius)
12:06:41 × visilii_ quits (~visilii@46.61.242.60) (Ping timeout: 248 seconds)
12:07:45 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
12:08:44 × califax quits (~califax@user/califx) (Remote host closed the connection)
12:09:02 × hololeap quits (~quassel@user/hololeap) (Quit: Bye)
12:09:49 califax joins (~califax@user/califx)
12:11:08 hololeap joins (~quassel@user/hololeap)
12:13:26 CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
12:16:42 mari-estel joins (~mari-este@2a02:3032:30a:b437:216:3eff:fe65:4eef)
12:17:55 visilii joins (~visilii@217.107.125.231)
12:18:44 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
12:19:32 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
12:22:34 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
12:22:55 ash3en joins (~Thunderbi@193.32.248.167)
12:23:42 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
12:23:54 × visilii quits (~visilii@217.107.125.231) (Ping timeout: 252 seconds)
12:24:03 euleritian joins (~euleritia@dynamic-176-004-237-218.176.4.pool.telefonica.de)
12:25:54 × euleritian quits (~euleritia@dynamic-176-004-237-218.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
12:26:06 visilii joins (~visilii@188.254.110.232)
12:26:16 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
12:29:59 × ash3en quits (~Thunderbi@193.32.248.167) (Ping timeout: 260 seconds)
12:34:02 youthlic joins (~Thunderbi@user/youthlic)
12:37:00 ash3en joins (~Thunderbi@193.32.248.167)
12:37:02 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
12:41:38 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
12:46:10 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
12:46:11 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:50:06 × mari-estel quits (~mari-este@2a02:3032:30a:b437:216:3eff:fe65:4eef) (Remote host closed the connection)
12:50:19 mari-estel joins (~mari-este@2a02:3032:30a:b437:216:3eff:fe65:4eef)
12:50:31 × CiaoSen quits (~Jura@2a05:5800:24c:f900:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds)
12:51:16 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
12:53:18 × ash3en quits (~Thunderbi@193.32.248.167) (Ping timeout: 245 seconds)
13:00:18 weary-traveler joins (~user@user/user363627)
13:03:10 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
13:07:32 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
13:11:37 × rosco quits (~rosco@175.136.158.234) (Quit: Lost terminal)
13:11:58 ystael joins (~ystael@user/ystael)
13:18:02 × migas977 quits (~migas@static.140.65.63.178.clients.your-server.de) (Quit: The Lounge - https://thelounge.github.io)
13:20:12 migas977 joins (~migas@static.140.65.63.178.clients.your-server.de)
13:20:59 vglfr joins (~vglfr@2607:fb91:8a5:ce17:ad3:f757:e518:6af1)
13:21:31 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
13:26:09 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
13:26:23 × vglfr quits (~vglfr@2607:fb91:8a5:ce17:ad3:f757:e518:6af1) (Read error: Connection reset by peer)
13:26:42 vglfr joins (~vglfr@2601:14d:4e01:1370:327c:aa26:b728:c2fd)
13:28:42 × misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 276 seconds)
13:29:28 ash3en joins (~Thunderbi@193.32.248.167)
13:36:41 × ash3en quits (~Thunderbi@193.32.248.167) (Ping timeout: 265 seconds)
13:38:48 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
13:43:29 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
13:46:56 ash3en joins (~Thunderbi@193.32.248.167)
13:47:07 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
13:51:02 × mari-estel quits (~mari-este@2a02:3032:30a:b437:216:3eff:fe65:4eef) (Quit: bye)
13:51:53 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
13:55:12 × athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 252 seconds)
13:56:56 rosco joins (~rosco@175.136.158.234)
14:00:17 × vglfr quits (~vglfr@2601:14d:4e01:1370:327c:aa26:b728:c2fd) (Ping timeout: 248 seconds)
14:00:50 vglfr joins (~vglfr@2601:14d:4e01:1370:25d9:5afb:2e27:1b5a)
14:04:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
14:09:44 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
14:10:07 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
14:15:17 srazkvt joins (~sarah@user/srazkvt)
14:15:17 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 248 seconds)
14:15:55 <[exa]> is hoogle somewhat overloaded recently, or is it just me getting slow responses?
14:17:19 <srazkvt> the one at hoogle.haskell.org ? it's definitely much slower on my end as well
14:21:19 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
14:22:53 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
14:23:12 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
14:23:35 stiell joins (~stiell@gateway/tor-sasl/stiell)
14:27:23 dolio joins (~dolio@130.44.140.168)
14:27:55 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
14:36:48 mxs joins (~mxs@user/mxs)
14:38:42 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
14:43:14 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
14:45:26 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
14:45:38 euleritian joins (~euleritia@dynamic-176-006-133-159.176.6.pool.telefonica.de)
14:45:49 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
14:48:08 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
14:48:57 athan joins (~athan@2600:382:2c13:935d:77d1:1e2c:6910:3594)
14:50:33 polyphem joins (~rod@pd9fbf9d1.dip0.t-ipconnect.de)
14:52:56 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
14:55:42 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
14:55:48 × srazkvt quits (~sarah@user/srazkvt) (Ping timeout: 245 seconds)
14:57:03 × vglfr quits (~vglfr@2601:14d:4e01:1370:25d9:5afb:2e27:1b5a) (Ping timeout: 245 seconds)
14:57:29 vglfr joins (~vglfr@2601:14d:4e01:1370:4ccc:d43c:3d7c:bb24)
14:57:35 mari-estel joins (~mari-este@2a02:3032:30a:b437:216:3eff:fe65:4eef)
14:59:26 × rosco quits (~rosco@175.136.158.234) (Quit: Lost terminal)
15:01:16 × ash3en quits (~Thunderbi@193.32.248.167) (Quit: ash3en)
15:04:14 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
15:06:23 cfricke joins (~cfricke@user/cfricke)
15:09:14 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
15:09:38 × euleritian quits (~euleritia@dynamic-176-006-133-159.176.6.pool.telefonica.de) (Ping timeout: 252 seconds)
15:09:54 euleritian joins (~euleritia@dynamic-176-001-146-160.176.1.pool.telefonica.de)
15:17:34 × euleritian quits (~euleritia@dynamic-176-001-146-160.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
15:18:16 euleritian joins (~euleritia@77.22.252.56)
15:18:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:19:40 visilii_ joins (~visilii@81.177.127.141)
15:20:54 × visilii quits (~visilii@188.254.110.232) (Ping timeout: 260 seconds)
15:21:54 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
15:25:28 visilii joins (~visilii@46.61.242.158)
15:25:33 steew_ joins (~steew@user/steew)
15:25:48 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 272 seconds)
15:25:49 steew_ is now known as steew
15:26:20 euleritian joins (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de)
15:26:30 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
15:26:52 × visilii_ quits (~visilii@81.177.127.141) (Ping timeout: 252 seconds)
15:26:52 × mreh quits (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 252 seconds)
15:27:28 × euleritian quits (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
15:27:48 euleritian joins (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de)
15:28:03 × euleritian quits (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
15:28:20 euleritian joins (~euleritia@77.22.252.56)
15:31:28 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
15:32:06 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:33:30 weary-traveler joins (~user@user/user363627)
15:37:17 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
15:42:36 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
15:43:02 <monochrom> tomsmeding: "stg-final" sounds most final. :) (Just in case there are stg-to-stg optimizations that matter.)
15:49:04 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
15:54:07 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
15:55:39 × causal quits (~eric@50.35.88.207) (Quit: WeeChat 4.3.1)
15:57:37 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 248 seconds)
15:58:37 × mari-estel quits (~mari-este@2a02:3032:30a:b437:216:3eff:fe65:4eef) (Quit: bye)
16:04:24 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
16:05:52 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
16:10:29 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
16:10:54 mreh joins (~matthew@host86-160-168-12.range86-160.btcentralplus.com)
16:19:51 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
16:22:48 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
16:27:22 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
16:29:15 misterfish joins (~misterfis@84.53.85.146)
16:34:49 ash3en joins (~Thunderbi@2a02:3100:7fc4:6000:a379:a530:d09e:bfe3)
16:41:00 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
16:41:43 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:43:01 × Digit quits (~user@user/digit) (Ping timeout: 248 seconds)
16:45:37 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
16:48:50 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
16:49:13 Squared joins (~Square@user/square)
16:49:23 weary-traveler joins (~user@user/user363627)
16:52:33 × Square2 quits (~Square4@user/square) (Ping timeout: 248 seconds)
16:52:59 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
16:58:14 × ash3en quits (~Thunderbi@2a02:3100:7fc4:6000:a379:a530:d09e:bfe3) (Ping timeout: 265 seconds)
17:00:21 × califax quits (~califax@user/califx) (Remote host closed the connection)
17:01:50 califax joins (~califax@user/califx)
17:02:10 ash3en joins (~Thunderbi@2a02:3100:7fc4:6000:a379:a530:d09e:bfe3)
17:03:30 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
17:04:43 cfricke joins (~cfricke@user/cfricke)
17:05:02 × califax quits (~califax@user/califx) (Remote host closed the connection)
17:05:29 × FragByte quits (~christian@user/fragbyte) (Ping timeout: 265 seconds)
17:06:05 FragByte joins (~christian@user/fragbyte)
17:07:09 califax joins (~califax@user/califx)
17:07:27 × califax quits (~califax@user/califx) (Remote host closed the connection)
17:08:37 califax joins (~califax@user/califx)
17:10:32 × califax quits (~califax@user/califx) (Remote host closed the connection)
17:10:38 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 252 seconds)
17:11:07 <lxsameer> hey all, when it comes to language extensions, which one is the well accepted best practice, enabling extensions per module via pragmas or for all the project via the build tool? I leaning toward the former
17:11:55 <monochrom> Most of the time I do per module.
17:12:06 <geekosaur> I strongly prefer the former because, when I'm reading code, the extensions are declared up front and I know what to expect
17:12:40 <geekosaur> it's harder if I have to dig in the cabal file/package.yaml to get the full story
17:12:54 <monochrom> I haven't done really serious projects yet, but I dream of doing both for them. Redundancy is important when there are multiple kinds of audience and each looks at a different place.
17:13:04 euleritian joins (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de)
17:13:19 <monochrom> Something I learned when writing and submitting reports, academic papers, theses.
17:13:30 <geekosaur> you can do both with `other-extensions`, in fact it's recommended
17:14:02 Digit joins (~user@user/digit)
17:14:12 <monochrom> Someone just wants to take a look at the summary, some others just the end, some just the middle. If you have an important point to make, you have to make it 3 times for those 3 kinds of people.
17:14:14 <geekosaur> becuase that way cabal/stack can tell you up front if your selected ghc supports them
17:14:18 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
17:14:25 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
17:14:51 <geekosaur> (more to the point, if it doesn't support them)
17:15:27 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
17:15:33 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 276 seconds)
17:17:00 <monochrom> Of course, in the case of extensions and the cabal file, this would cause the problem of syncing up the redundancy, I don't have a solution for that.
17:17:21 <geekosaur> tooling could do that
17:17:58 <geekosaur> I could write that one up pretty easily if I needed it then release it as a cabal external command plugin
17:18:17 cfricke joins (~cfricke@user/cfricke)
17:18:42 <lxsameer> cool, thanks folks
17:18:43 <geekosaur> (but I don't use many extensions, so I haven't bothered as yet)
17:19:48 <monochrom> In the case of extensions, I think it becomes a non-issue because most people don't look for extensions in the cabal file because of several factors, so you just do per file and call it a day and no one complains.
17:19:54 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
17:20:27 <monochrom> 1. There is only one compiler left in production. It is not like you need to know whether your favourite compiler suports them or not.
17:20:34 <geekosaur> I mean, it's just pull the extensions out of the top of every Haskell source in the package (get that from the cabal file, run hpack if all you have is package.yaml), write the intersection to the cabal file's `other-extensions` so tooling can tell you about extension vs. compiler compatibility
17:21:02 <monochrom> 2. GHC2021 already includes so many extensions that you just need to say "GHC2021".
17:21:27 califax joins (~califax@user/califx)
17:21:33 <geekosaur> uh, for one recent example someone used `OverloadedRecordDot` in the cabal source. We're required to support ghcs back to 8.8, so CI failed
17:21:39 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 260 seconds)
17:21:45 <monochrom> 3. In some cases you really like to turn on, say, UndecidableInstances for just one file but not the rest.
17:21:50 <geekosaur> (a couple months ago the same happened with `\cases`)
17:22:11 <tomsmeding> monochrom: re "you have to make it three times": then your reviewers will say "stop saying the same thing three times" :p
17:22:13 <monochrom> Oh, that. I forgot.
17:22:30 TMA joins (tma@twin.jikos.cz)
17:22:59 <monochrom> tomsmeding: My supervisor is experienced in the truth. If you didn't make it 3 times, the reviewers would demand saying it 3 times.
17:23:18 <monochrom> Generally you have done X iff reviewers demand not X.
17:23:27 <tomsmeding> lol
17:23:29 <tomsmeding> that is fair
17:23:42 hiredman joins (~hiredman@frontier1.downey.family)
17:23:59 <tomsmeding> also, more to the specific topic at hand: recently I found out that in some obscure circumstance, you actually MUST add TemplateHaskell to other-extensions if you use it
17:24:27 <tomsmeding> I think it had to do with haddock
17:24:57 <tomsmeding> hm, that or C sources
17:26:46 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
17:28:23 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:29:11 <monochrom> My supervisor told me about that in the context of right after my in-department oral exam and receiving comments from the other examiners. He wanted to prepare me so I wouldn't feel offended or belittled. He went very meta and said, "people feel like they need to make a contribution, but of course a thesis at this stage doesn't need major changes, so people can only pick on tiny things and suggest tiny changes so they feel like they've suggested
17:29:11 <monochrom> something. It doesn't mean you did it wrong; if you did X, they will suggest not X; if you did not X, they will suggest X. Don't feel bad about it."
17:29:54 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving)
17:29:59 <monochrom> But I think I'm blessed because I looked at the suggested changes from my examiners, and they're really good changes, not that kind of change-for-the-sake-of-change.
17:30:09 <tomsmeding> "of course a thesis at this stage doesn't need major changes" -- in the common, happy case
17:30:53 <monochrom> Well yeah if the supervisor does their job, they would be good guards and wouldn't even let an oral exam happen if the work were not ready.
17:31:02 <tomsmeding> true
17:31:19 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 264 seconds)
17:31:35 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
17:31:56 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:32:28 <monochrom> It's why that joke about "a thesis on a new kind of rings that's too good to be true, and it is, because during the exam an examiner proved that it can only be {0}" is very likely just a fictional joke, not a true story.
17:32:55 × euleritian quits (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
17:34:47 oo_miguel joins (~Thunderbi@78.10.206.35)
17:35:44 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:35:56 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
17:36:06 <EvanR> make sure you leave something in the house electrical just obviously messed up so the inspector can identify it, feel like they did something, and leave
17:36:24 <EvanR> or else they will go nuts on trivialities
17:37:07 × cfricke quits (~cfricke@user/cfricke) (Read error: Connection reset by peer)
17:38:31 <monochrom> haha
17:39:13 misterfish joins (~misterfis@84.53.85.146)
17:40:10 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
17:41:03 <monochrom> (On second thought, maybe there is a reason the joke is set in the math department rather than any other discipline... It would be math people who would be so absent-minded and disorganized that it is possible that a student and their supervisor never discussed things until the exam haha)
17:41:35 <tomsmeding> this is the "game graphics artist who meticulously animated a pet around the character, never actually touching the character, so that the bosses could point to that pet and say 'remove that', and have that be trivial"
17:41:38 <tomsmeding> all over again
17:41:59 <geekosaur> monochrom, you've ever been in an electrical and computer engineering department 😛
17:42:16 <geekosaur> I think that's pretty much a standard thing
17:44:04 <monochrom> heh
17:44:21 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
17:44:38 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
17:44:39 × youthlic quits (~Thunderbi@user/youthlic) (Quit: youthlic)
17:45:09 euleritian joins (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de)
17:45:39 <mauke> https://blog.codinghorror.com/new-programming-jargon/#5
17:47:51 <tomsmeding> mauke: thank you, that was indeed it
17:48:22 <EvanR> dude, battle chess
17:48:58 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:49:14 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
17:51:20 × oo_miguel quits (~Thunderbi@78.10.206.35) (Quit: oo_miguel)
17:51:42 × euleritian quits (~euleritia@dynamic-176-007-150-008.176.7.pool.telefonica.de) (Ping timeout: 252 seconds)
17:52:50 euleritian joins (~euleritia@dynamic-176-003-000-070.176.3.pool.telefonica.de)
17:53:54 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
17:57:33 × athan quits (~athan@2600:382:2c13:935d:77d1:1e2c:6910:3594) (Ping timeout: 252 seconds)
17:58:17 × ash3en quits (~Thunderbi@2a02:3100:7fc4:6000:a379:a530:d09e:bfe3) (Quit: ash3en)
18:00:29 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
18:06:05 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
18:06:41 <[exa]> is there any sensible shortcut (or generally naming scheme) for things like `fmap (sequenceA . fmap sequenceA)`
18:08:13 <[exa]> (it permutes the burrito layers from f(g(h(i a))) to f(h(i(g a))) )
18:08:59 <tomsmeding> inb4 someone has written a library that lets you give it two type-level descriptions of the nesting, and it figures out the right combination of fmaps to make it work
18:09:16 <monochrom> I haven't heard of one.
18:10:05 <monochrom> At the term level we don't have a huge family of flip's for various arities and permutations either.
18:10:38 <[exa]> like, I don't have a problem with this one, it already saved a ton of code, but now after seeing that it just permutes stuff I somehow strive for more
18:10:46 <monochrom> We seem to just write the exact one on the spot on a need-to-use basis and be done.
18:11:23 <monochrom> But hey that type-level approach sounds promising :)
18:11:52 <[exa]> might happen that the namign of these things would look like (caddadr ...) and pals from lisp
18:12:15 <monochrom> Actually Hutton's "APLicative Programming with Naperian Functors" may help.
18:12:29 <[exa]> like this is....sequenceA1342 ?
18:12:58 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
18:13:19 <monochrom> (It models APL in Haskell with representable (Naperian) and applicative functors. APL also does transpositions like that.)
18:13:34 × euleritian quits (~euleritia@dynamic-176-003-000-070.176.3.pool.telefonica.de) (Ping timeout: 260 seconds)
18:13:57 <monochrom> err, transposes! As in matrix or n-dim array/tensor transpose.
18:14:28 euleritian joins (~euleritia@dynamic-176-003-072-241.176.3.pool.telefonica.de)
18:14:53 <mauke> :t fmap sequenceA . (fmap . fmap) sequenceA
18:14:54 <lambdabot> (Applicative f1, Traversable t1, Traversable t2, Functor f2) => f2 (t1 (t2 (f1 a))) -> f2 (f1 (t1 (t2 a)))
18:17:15 <tomsmeding> next level: prove that whatever combination of fmap, (.) and sequenceA you write, if the combination has the same type, it is also semantically equivalent
18:17:28 <tomsmeding> (I have no idea whether this is actually true; if not, that would be an interesting wrinkle)
18:17:28 <monochrom> :(
18:17:28 fireking04 joins (~user@36-227-111-145.dynamic-ip.hinet.net)
18:17:52 <monochrom> That would be a parametricity homework question for a grad course. :)
18:18:19 <mauke> :t sequenceA . fmap sequenceA . (fmap . fmap) sequenceA
18:18:20 <lambdabot> (Applicative f, Traversable t1, Traversable t2, Traversable t3) => t1 (t2 (t3 (f a))) -> f (t1 (t2 (t3 a)))
18:18:21 × billchenchina- quits (~billchenc@103.152.35.21) (Remote host closed the connection)
18:18:29 <tomsmeding> it feels difficult, but maybe when you look at the laws it becomes more tractable
18:18:56 <monochrom> It's definitely difficult enough, or at least annoying enough, to be reserved for grad courses.
18:19:47 <monochrom> For undergrad courses, it is reserved for only the most dired time when the class average is too high. >:)
18:19:58 <monochrom> err, s/dired/dire/
18:20:27 <mauke> extract^N = ._{i=0}^{N} fmap^{i} sequenceA
18:20:36 <tomsmeding> monochrom: are you suggesting grading with a pre-determined class average?
18:20:46 <tomsmeding> mauke: right!
18:21:06 <tomsmeding> and you can merge adjacent extracts using the composition law for fmap: fmap f . fmap g = fmap (f . g)
18:21:13 <[exa]> monochrom: oh that's a nice thing, thanks
18:23:57 <monochrom> tomsmeding: Instead, I look at trends of class averages over say 2-3 years as an proxy for "civilization has advanced, students are ready for advanced topics".
18:24:07 <[exa]> btw re slowness of hoogle.haskell.org, is there any way to throw any kind of resources at the maintainers to help with the (assumed) overload?
18:24:24 slack1256 joins (~slack1256@2803:c600:5111:8029:6e22:e379:7b90:ce92)
18:24:36 <[exa]> like, I've got servers
18:24:40 <monochrom> Right? Just 400 years ago, you just needed to do long divisions for BSc, you just needed to solve cubic equations for PhD. We can't always teach the same basic things.
18:24:48 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
18:25:03 <tomsmeding> monochrom: right. But those developments don't really happen in 2-3 years for BSc courses
18:25:12 <tomsmeding> perhaps PhD courses might evolve that quickly
18:25:24 <slack1256> I have an app using persistent, I would like to EXPLAIN the queries to add the appropiate indexes. Is there a way to do so by using persistent? If not, how should I get the executed queries to run them myself and EXPLAIN them?
18:25:29 <tomsmeding> even MSc courses hit that frequency only seldomly
18:26:24 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
18:26:27 <monochrom> OK OK change that to "chatgpt has adanced, students are ready for advanced topics". >:)
18:26:56 <tomsmeding> monochrom: what will you do if the year after isn't quite so good again?
18:27:18 <tomsmeding> [exa]: who even runs hoogle.haskell.org
18:27:27 <probie> Not sure about monochrom, but I recommend "go on a rant about the declining quality of students"
18:27:44 <[exa]> tomsmeding: exactly
18:27:50 <monochrom> I can still teach the difficult topics, but I can also choose easier or harder questions on homework and exams.
18:28:25 <tomsmeding> so just by joining university the wrong year, I can get disadvantaged in my grades by sheer luck?
18:28:27 target_i joins (~target_i@user/target-i/x-6023099)
18:29:06 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
18:29:07 <monochrom> Also there is an unsaid premise that I don't teach an advanced topic until I finally figure how to tell the story.
18:29:08 jinsun joins (~jinsun@user/jinsun)
18:30:09 <mauke> https://github.com/ndmitchell/hoogle/issues https://ndmitchell.com/
18:30:28 athan joins (~athan@syn-098-153-145-140.biz.spectrum.com)
18:30:57 <probie> tomsmeding: By having a cold on the wrong day you can have your grades disadvantaged by sheer luck. Grades correlate with understanding of content, but it's hardly a 1-1 to mapping
18:31:15 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 244 seconds)
18:31:49 <tomsmeding> probie: sure. But I can't do much about that cold, usually. The teacher can definitely do something about consistency in grading.
18:32:02 <monochrom> tomsmeding: You are not my student, you won't get disadvantaged just because I decide to teach full-blown denotational semantics on a whim. >:)
18:32:18 <tomsmeding> I am indeed not :) But I'm fighting for the students who are
18:32:23 <tomsmeding> I have a strong dislike for "grading on a curve"
18:32:40 <tomsmeding> I'm not saying you're doing it, or doing it bad enough that I would disapprove of it, I just don't like it :p
18:33:05 <tomsmeding> (and also, even if I would disapprove of how you grade -- not sure if you should care very much :) )
18:33:52 <tomsmeding> mauke: seems like it's himself, indeed
18:34:04 <monochrom> I hate the word "accessible", but I think how I actually teach, and what I mean by "figure out how to tell the story", is exactly teaching things in an accessible way. So e.g., teaching parametricity the same way as the Theorems for Free is still not accessible enough, actually.
18:34:25 × euleritian quits (~euleritia@dynamic-176-003-072-241.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
18:34:42 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
18:34:43 <tomsmeding> (and I am definitely not commenting on your teaching itself, not least because I have never sat in your classroom)
18:36:22 <tomsmeding> (in fact, all signals point to you making an effort to explain things simply, in proper order, and in a way that makes students happy together with giving them the means to explore the rest themselves)
18:37:21 × slack1256 quits (~slack1256@2803:c600:5111:8029:6e22:e379:7b90:ce92) (Remote host closed the connection)
18:37:22 × manwithluck quits (manwithluc@gateway/vpn/protonvpn/manwithluck) (Read error: Connection reset by peer)
18:37:47 manwithluck joins (manwithluc@gateway/vpn/protonvpn/manwithluck)
18:40:18 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
18:41:21 × athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 246 seconds)
18:44:52 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
18:48:32 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 252 seconds)
18:51:10 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
18:53:14 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 260 seconds)
18:55:48 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
19:00:02 × caconym8 quits (~caconym@user/caconym) (Quit: bye)
19:00:16 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:00:38 caconym8 joins (~caconym@user/caconym)
19:11:37 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
19:16:01 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:16:22 <probie> [exa]: just because monochrom brought it up, this is how you could write `fmap (sequenceA . fmap sequenceA)` in APL `(⎕IO+0 2 3 1)∘⍉` (⎕IO is "index origin". Because APL lets you swap between 0-indexing and 1-indexing, the `⎕IO+` bit it just to make it work with both)
19:16:47 weary-traveler joins (~user@user/user363627)
19:18:40 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
19:19:56 <[exa]> probie: o nice
19:20:02 <[exa]> (APL is underrated)
19:21:19 <monochrom> Oh yeah I remember seeing APL "IO" on wikipedia :)
19:22:43 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
19:23:33 <geekosaur> it's fun. I blew out my CPU time allotment playing with it though, BITD 😞
19:23:43 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 265 seconds)
19:27:29 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
19:27:32 JimL joins (~quassel@89.162.16.26)
19:27:47 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:28:39 <probie> I might as well finish the explanation. `⎕IO+0 2 3 1` would be `map (indexOrigin +) [0, 2, 3, 1]` in Haskell. The `∘` (pronounced "bind" in this context) is a modern APL feature for partial application (that symbol also does double duty as normal function composition and is called "beside" in the context)
19:29:16 <probie> s/"beside" in the context/"beside" in that context/
19:30:41 tomboy64 joins (~tomboy64@user/tomboy64)
19:30:44 biberu\ joins (~biberu@user/biberu)
19:31:20 Wstfgl0 joins (~me-me@kc.randomserver.name)
19:31:48 ames5 joins (~amelia@offtopia/offtopian/amelia)
19:31:50 Katarushisu2 joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
19:32:02 nek01 joins (~nek0@user/nek0)
19:32:08 kimiamania208 joins (~65804703@user/kimiamania)
19:32:10 ZharMeny` joins (~ZharMeny@user/ZharMeny)
19:32:14 <probie> And ⍉ is transpose (that's probably an important part :p)
19:32:30 sa1_ joins (sid7690@id-7690.ilkley.irccloud.com)
19:32:32 monochrm joins (trebla@216.138.220.146)
19:32:36 Yumemi joins (~Yumemi@2001:bc8:47a0:1b14::1)
19:32:36 nschoe joins (~nschoe@82-65-202-30.subs.proxad.net)
19:32:40 idnar_ joins (sid12240@debian/mithrandi)
19:32:42 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
19:32:45 sp1ff` joins (~user@c-73-11-70-111.hsd1.wa.comcast.net)
19:32:47 shawwwn_ joins (sid6132@id-6132.helmsley.irccloud.com)
19:32:56 tapas_ joins (sid467876@id-467876.ilkley.irccloud.com)
19:33:07 zzz joins (~z@user/zero)
19:33:46 Fijxu_ joins (~Fijxu@user/fijxu)
19:34:10 jove_ joins (~quassel@user/jove)
19:34:27 bionade24_ joins (~quassel@2a03:4000:33:45b::1)
19:34:38 markasoftware_ joins (~quassel@107.161.26.124)
19:34:40 haskellbridge_ joins (~hackager@syn-024-093-192-219.res.spectrum.com)
19:34:40 ChanServ sets mode +v haskellbridge_
19:34:42 xal_ joins (~xal@mx1.xal.systems)
19:35:06 byte_ joins (~byte@149.28.222.189)
19:35:21 df_ joins (~ben@justworks.xyz)
19:35:24 flounders_ joins (~flounders@2607:fb91:f40:c71f:1db6:ca6:cd9b:ec1c)
19:35:32 spenat_ joins (~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se)
19:35:33 Miroboru joins (~myrvoll@178-164-114.82.3p.ntebredband.no)
19:35:43 ski_ joins (~ski@ext-1-196.eduroam.chalmers.se)
19:35:48 polyphem_ joins (~rod@pd9fbf9d1.dip0.t-ipconnect.de)
19:35:55 gentauro_ joins (~gentauro@cgn-cgn11-185-107-12-141.static.kviknet.net)
19:35:58 todi_away joins (~todi@p57803331.dip0.t-ipconnect.de)
19:36:11 astroanax1 joins (~astroanax@2001:19f0:7402:f82:5400:1ff:fec4:f7d7)
19:36:20 neuroevolutus joins (~neuroevol@37.19.200.152)
19:37:59 × JimL quits (~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
19:40:19 × polyphem quits (~rod@pd9fbf9d1.dip0.t-ipconnect.de) (*.net *.split)
19:40:34 × ZharMeny quits (~ZharMeny@user/ZharMeny) (*.net *.split)
19:40:34 × nek0 quits (~nek0@user/nek0) (*.net *.split)
19:40:34 × haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (*.net *.split)
19:40:34 × bionade24 quits (~quassel@2a03:4000:33:45b::1) (*.net *.split)
19:40:34 × shawwwn quits (sid6132@id-6132.helmsley.irccloud.com) (*.net *.split)
19:40:34 × flounders quits (~flounders@2607:fb91:f40:c71f:f5c9:7500:92f8:5ba9) (*.net *.split)
19:40:34 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (*.net *.split)
19:40:34 × byte quits (~byte@149.28.222.189) (*.net *.split)
19:40:34 × kimiamania20 quits (~65804703@user/kimiamania) (*.net *.split)
19:40:34 × Miroboru_ quits (~myrvoll@178-164-114.82.3p.ntebredband.no) (*.net *.split)
19:40:34 × spenat quits (~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se) (*.net *.split)
19:40:34 × Yumemi_ quits (~Yumemi@2001:bc8:47a0:1b14::1) (*.net *.split)
19:40:34 × ames quits (~amelia@offtopia/offtopian/amelia) (*.net *.split)
19:40:34 × nschoe- quits (~nschoe@2a01:e0a:8e:a190:457d:2ee7:c4d1:bcb5) (*.net *.split)
19:40:34 × monochrom quits (trebla@216.138.220.146) (*.net *.split)
19:40:41 × ski quits (~ski@ext-1-196.eduroam.chalmers.se) (*.net *.split)
19:40:41 × xal quits (~xal@mx1.xal.systems) (*.net *.split)
19:40:41 × biberu quits (~biberu@user/biberu) (*.net *.split)
19:40:41 × markasoftware quits (~quassel@107.161.26.124) (*.net *.split)
19:40:41 × Me-me quits (~me-me@user/me-me) (*.net *.split)
19:40:41 × astroanax quits (~astroanax@2001:19f0:7402:f82:5400:1ff:fec4:f7d7) (*.net *.split)
19:40:41 × df quits (~ben@justworks.xyz) (*.net *.split)
19:40:41 × Katarushisu quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (*.net *.split)
19:40:41 × jove quits (~quassel@user/jove) (*.net *.split)
19:40:41 × idnar quits (sid12240@debian/mithrandi) (*.net *.split)
19:40:41 × sa1 quits (sid7690@id-7690.ilkley.irccloud.com) (*.net *.split)
19:40:41 × sp1ff quits (~user@c-73-11-70-111.hsd1.wa.comcast.net) (*.net *.split)
19:40:41 × tapas quits (sid467876@id-467876.ilkley.irccloud.com) (*.net *.split)
19:40:41 × gentauro quits (~gentauro@user/gentauro) (*.net *.split)
19:40:41 × zero quits (~z@user/zero) (*.net *.split)
19:40:41 × Fijxu quits (~Fijxu@user/fijxu) (*.net *.split)
19:40:51 Wstfgl0 is now known as Me-me
19:40:51 ames5 is now known as ames
19:40:51 monochrm is now known as monochrom
19:40:51 nek01 is now known as nek0
19:40:52 idnar_ is now known as idnar
19:41:04 shawwwn_ is now known as shawwwn
19:41:04 Katarushisu2 is now known as Katarushisu
19:41:04 kimiamania208 is now known as kimiamania20
19:41:04 ski_ is now known as ski
19:41:04 sa1_ is now known as sa1
19:41:04 tapas_ is now known as tapas
19:41:04 zzz is now known as zero
19:41:04 biberu\ is now known as biberu
19:41:49 × neuroevolutus quits (~neuroevol@37.19.200.152) (Ping timeout: 256 seconds)
19:42:30 × fireking04 quits (~user@36-227-111-145.dynamic-ip.hinet.net) (Remote host closed the connection)
19:43:54 × A_Dragon quits (A_D@libera/staff/dragon) (Quit: ZNC - https://znc.in)
19:44:33 haskellbridge_ is now known as haskellbridge
19:44:38 Square2 joins (~Square4@user/square)
19:45:00 byte_ is now known as byte
19:45:43 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
19:47:40 athan joins (~athan@2600:382:1f08:fd67:cf15:5297:c8ad:7370)
19:47:43 × Squared quits (~Square@user/square) (Ping timeout: 244 seconds)
19:47:56 × mreh quits (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 252 seconds)
19:50:18 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
19:51:17 A_Dragon joins (A_D@libera/staff/dragon)
20:02:01 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
20:03:06 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
20:06:45 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
20:16:45 Guest|8 joins (~Guest|8@129.123.140.142)
20:17:42 <probie> Oh wait, I was bamboozled by the type. the `fmap (sequenceA . fmap sequenceA)` isn't actually a transposition
20:19:57 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
20:20:38 × Guest|8 quits (~Guest|8@129.123.140.142) (Client Quit)
20:24:35 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
20:25:28 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:35:59 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
20:37:16 athan_ joins (~athan@2600:382:1f08:fd67:cf15:5297:c8ad:7370)
20:37:37 × athan quits (~athan@2600:382:1f08:fd67:cf15:5297:c8ad:7370) (Ping timeout: 248 seconds)
20:38:49 × foul_owl quits (~kerry@185.219.141.160) (Ping timeout: 260 seconds)
20:40:55 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
20:42:20 foul_owl joins (~kerry@174-21-143-250.tukw.qwest.net)
20:44:54 <sprout>
20:45:15 <institor>
20:50:43 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds)
20:51:47 × michalz quits (~michalz@185.246.207.203) (Remote host closed the connection)
20:51:57 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
20:52:36 × foul_owl quits (~kerry@174-21-143-250.tukw.qwest.net) (Ping timeout: 246 seconds)
20:54:59 <EvanR>
20:55:05 <EvanR>
20:55:47 <EvanR> the steganographic content is hidden in the number of whitespaces
20:56:27 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
20:56:35 <geekosaur> https://esolangs.org/wiki/Whitespace
21:01:50 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
21:01:57 <mauke> hell yeah, whitespace. I love a basic execution loop that is O(n^2) in the length of the program :-)
21:02:19 spew joins (~spew@2806:2a0:1522:8662::728c)
21:02:39 <mauke> (the interpreter is written in Haskell and uses lists for absolutely everything, and it uses !! to access list elements)
21:02:59 <ski> luvly jubly
21:05:04 <institor> such a shame Data.Vector is not in Prelude
21:05:07 foul_owl joins (~kerry@185.219.141.160)
21:05:51 <institor> i have fallen into the same trap on older projects using (!!) everywhere
21:06:17 <EvanR> and writing yet another updated at function
21:06:37 <geekosaur> I honestly don't think I ever have: Haskell lists were always obviously linked lists to me
21:07:45 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:10:29 × athan_ quits (~athan@2600:382:1f08:fd67:cf15:5297:c8ad:7370) (Ping timeout: 260 seconds)
21:12:17 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
21:13:00 × polyphem_ quits (~rod@pd9fbf9d1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
21:16:40 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:16:44 × talismanick quits (~user@2601:644:937c:ed10::ae5) (Ping timeout: 260 seconds)
21:16:53 <probie> [exa]: No promise that it does what you want at the value level, nor will it produce efficient code, but see https://play.haskell.org/saved/nNCiWEE2
21:18:18 × fun-safe-math quits (~fun-safe-@24.21.106.247) (Ping timeout: 245 seconds)
21:18:55 × spew quits (~spew@2806:2a0:1522:8662::728c) (Remote host closed the connection)
21:19:12 spew joins (~spew@2806:2a0:1522:8662::728c)
21:19:12 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
21:20:09 <d34df00d> I have something funny going on with cross-module inlining.
21:20:24 fun-safe-math joins (~fun-safe-@24.21.106.247)
21:20:49 <d34df00d> If I paste this module contents https://github.com/0xd34df00d/regex-memo-lat/blob/master/src/Text/Regex/Memo/Stack.hs here : https://github.com/0xd34df00d/regex-memo-lat/blob/master/src/Text/Regex/Memo/Matcher/Naive.hs , then my program works about ⅓ faster.
21:21:15 <d34df00d> And I get similar effect if I have {-# INLINE push #-} (and just that one!) in the `Stack` module.
21:21:54 × vglfr quits (~vglfr@2601:14d:4e01:1370:4ccc:d43c:3d7c:bb24) (Ping timeout: 276 seconds)
21:21:56 <d34df00d> I also have -XStrict enabled globally, as well as -fexpose-all-unfoldings and -fspecialize-aggressively
21:22:38 <d34df00d> Now, if I -ddump-inlinings in the consuming module (Matcher.Naive), then I see that `push` gets inlined, ghc saying
21:22:43 <d34df00d> > Inlining done: Text.Regex.Memo.Stack.push
21:22:45 <lambdabot> error:
21:22:45 <lambdabot> Not in scope: ‘Text.Regex.Memo.Stack.push’
21:22:45 <lambdabot> No module named ‘Text.Regex.Memo.Stack’ is imported.
21:22:54 vglfr joins (~vglfr@2607:fb91:140c:10ac:ac39:6af1:8068:4907)
21:24:16 <d34df00d> Curiously, if I keep everything in one module, then I _don't_ get the message that `push` was inlined, but performance-wise it behaves as if it did.
21:24:49 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:24:51 <d34df00d> So, what's up with cross-module inlining and how can I make it better (for some definition of better) as if I wrote everything in one module, without annotating everything with `{-# INLINE ... #-}`?
21:25:15 <geekosaur> https://downloads.haskell.org/ghc/9.10.1/docs/users_guide/exts/pragmas.html#inline-pragma read carefully the description of how inlining works, and also note the earlier statement that it applies a lot of heuristics
21:26:50 <sprout> :t (\f -> f)
21:26:51 <lambdabot> p -> p
21:26:55 <sprout> :t (\f -> f f)
21:26:56 <lambdabot> error:
21:26:56 <lambdabot> • Occurs check: cannot construct the infinite type: t ~ t -> t1
21:26:56 <lambdabot> • In the first argument of ‘f’, namely ‘f’
21:27:03 × vglfr quits (~vglfr@2607:fb91:140c:10ac:ac39:6af1:8068:4907) (Ping timeout: 245 seconds)
21:27:40 vglfr joins (~vglfr@2607:fb91:8a4:82b7:ad3:f757:ccf9:424d)
21:27:47 <geekosaur> exposing unfoldings isn't enough, as you still may need to convince ghc to make use of them. whether it will or not can depend on e.g. what other things it calls and how expensive it judges those to be, with a likely different judgment across modules (I would for example not be surprised if a given judgement doesn't take `-fexpose-all-unfoldings` into account because it's not an explicit `INLINEABLE`)
21:28:33 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:29:03 <sprout> > (\f -> f f) id
21:29:05 <lambdabot> error:
21:29:05 <lambdabot> • Occurs check: cannot construct the infinite type: t ~ t -> t
21:29:05 <lambdabot> • In the first argument of ‘f’, namely ‘f’
21:29:21 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
21:29:23 <geekosaur> at some point you may need to ask in #ghc, but note that they're preparing for a release so may not be readily available
21:29:41 <d34df00d> geekosaur: yep, I think I mostly understand that link, but it doesn't touch too deeply on cross-module stuff.
21:30:05 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
21:30:13 <d34df00d> My mental model is that if a function's unfolding is exposed, then it behaves (from the optimizer POV at least) as if it was defined in the module that's importing the definition.
21:31:57 <geekosaur> normally cross-module doesn't matter much if the unfolding is available, but there may be e.g. things that assume explicit `INLINEABLE` vs. `-fexpose-all-unfoldings`. but transitive effects also come into it, and figuring the cost of those may e.g. inadvertently not consider whether a called function also has an available unfolding
21:32:12 <geekosaur> inlining is just a little hacky, sadly
21:33:40 <d34df00d> Transitivity's a good point, and I've thought about it, but my gut feel is that if all my function does is calling another functions from the same module (that are also exposed) or third-party library code, then it shouldn't matter and the stuff that's transitively pulled in should be equivalent in some sense.
21:34:15 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
21:34:15 <geekosaur> oh, also read the docs for `INLINABLE`, which is what `-fexpose-all-unfoldings` is doing; it has key differences from `INLINE`
21:34:59 <geekosaur> so for compiling within the same module or for explicit `INLINE` you can get different inlining choices from `INLINABLE` or `-fexpose-all-unfoldings`
21:36:14 <geekosaur> » Moreover, by annotating `f` as `INLINABLE`, you ensure that `f`’s original RHS is inlined, rather than whatever random optimised version of `f` GHC’s optimiser has produced.
21:36:28 <geekosaur> that sounds like another key difference between the two
21:36:29 <d34df00d> Oh damn.
21:36:31 <d34df00d> I missed that.
21:36:39 <d34df00d> That indeed looks like a key reason.
21:37:11 <geekosaur> especially since the two can then interact with other inlinings or `RULES` pragmas
21:37:18 × fun-safe-math quits (~fun-safe-@24.21.106.247) (Quit: No Ping reply in 180 seconds.)
21:37:39 <geekosaur> (leading to the versions of the inlining pragmas with suffixes as a very hacky way to try to control their interactions)
21:37:47 <d34df00d> I thought long how to react but I guess I'll just say it feels quite stupid.
21:38:03 <geekosaur> https://downloads.haskell.org/ghc/9.10.1/docs/users_guide/exts/pragmas.html#phase-control
21:38:23 <d34df00d> But maybe it's just the intrinsic complexity of both inlining and making sure the intended rules fire.
21:38:26 <d34df00d> Meh, programming is hard.
21:38:28 <geekosaur> yes
21:38:33 fun-safe-math joins (~fun-safe-@24.21.106.247)
21:38:59 <geekosaur> compiler technology is far away from being able to work this stuff out automatically
21:39:12 <geekosaur> iirc it's something of a constraint satisfaction problem?
21:39:28 <d34df00d> But on the other hand, even if it inlines the original version, should the optimizer be able to optimize it as well (or better) after the inlining?
21:40:24 <geekosaur> usually yes, but it depends on how other inlinings and `RULES` interact with it, which is why the phase control stuff is provided as a hacky way to force inlinings and rule firings to happen in an optimal order
21:41:38 <d34df00d> I'm not quite sure tho I still fully understand this.
21:41:44 <d34df00d> The previous bullet says > Like INLINE, the INLINABLE pragma retains a copy of the original RHS for inlining purposes, and persists it in the interface file, regardless of the size of the RHS.
21:41:56 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:42:02 <d34df00d> Which implies that the same (unoptimized) version gets inlined if I INLINE. So what's the difference?
21:42:16 <geekosaur> "regardless of the size of the RHS"
21:42:31 <geekosaur> oh, sorry, not quite
21:42:39 <d34df00d> Yeah, but neither does keep the optimized version, right?
21:43:19 <geekosaur> right. hm, maybe the thing I quoted only applies to the behavior of the magic `inline` "function:
21:44:04 <geekosaur> (which is like marking something as `INLINE`, but (a) even more so (b) applies to use sites, whereas `INLINE` applies to the definition)
21:46:39 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
21:47:34 <d34df00d> I'm curious if, when everything is in one module, then ghc first optimizes the function (`push` in this case) and then it's small and nice enough to inline,
21:48:02 <d34df00d> but when `push` is defined in another module even with unfolding exposed, then the unoptimized body is exposed, and ghc doesn't inline it because costs, and it has no incentive to try to optimize it again here.
21:48:08 <d34df00d> Does that sound plausible?
21:49:30 <geekosaur> that sounds very plausible, if I'm reading this stuff correctly (it requires reading between the lines about the `inline` pseudo-function though)
21:50:18 × weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!)
21:50:44 <d34df00d> That feels… inconsistent, I guess, even taking rules into account.
21:51:43 <geekosaur> not sure
21:51:57 weary-traveler joins (~user@user/user363627)
21:52:20 <geekosaur> the store I'm getting is: without INLINE/INLINABLE, functions in the same module can be inlined at the whim of the compiler but may be inlined in a pre-optimized form
21:52:45 <geekosaur> with INLINE/INLINABLE, they are (always|possibly) inlined in their original form
21:53:01 <geekosaur> *story
21:55:19 <d34df00d> Yeah, looking at the Core (after -ddump-simpl), the key function doesn't get inlined without the INLINE pragma.
21:55:33 <d34df00d> I'm curious what ghc meant when -ddump-inlinings said that it was inlined.
21:55:47 <d34df00d> It it possible to, like, get a trace or something _where_ things get inlined?
21:57:20 <geekosaur> I have no idea, sorry
21:58:36 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
21:59:04 <d34df00d> No worries!
21:59:09 justsomeguy joins (~justsomeg@user/justsomeguy)
21:59:12 <d34df00d> As usual, the hardest part about haskell is reasoning about performance.
22:01:09 athan_ joins (~athan@syn-098-153-145-140.biz.spectrum.com)
22:03:13 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:03:54 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:07:43 ZharMeny` is now known as ZharMeny
22:10:59 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Ping timeout: 260 seconds)
22:11:34 <geekosaur> tbh if performance matters to me I don't use Haskell. that said, the stuff I do these days mostly doesn't need to squeeze performance
22:11:47 <geekosaur> (this is a "right tool for the job" thing)
22:13:00 <d34df00d> Well, that's my favourite pastime — trying to understand haskell + performance and maybe make the code slightly better.
22:14:06 <geekosaur> in general, the higher level or otherwise more abstracted from the hardware a language is, the harder it is to reason about or get performance
22:14:40 <geekosaur> the flip side being that the closer to the HW it is, the harder it is to write in the first place
22:14:50 <geekosaur> so it's a balancing act
22:15:40 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
22:20:05 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
22:20:15 lambdaRule joins (~lambdaRul@d108-172-198-192.bchsia.telus.net)
22:20:38 × acidjnk quits (~acidjnk@p200300d6e72cfb571c92fe2f1c989eb0.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
22:23:05 <geekosaur> Haskell and Python make it easy to write what you intend (admittedly, in somewhat different styles), but performance issues are really hard
22:23:13 <geekosaur> asm's a nightmare to write
22:23:33 <lambdaRule> I'm reading QuickCheck code, the module Poly makes me wonder how those newtype (A,B,C) suppose to be used. (https://github.com/nick8325/quickcheck/blob/d66336ce59e0e3536afcef4f2e147b7028d89dd0/src/Test/QuickCheck/Poly.hs#L14) Anyone knows how?
22:23:49 <geekosaur> C makes you do everything yourself and mostly makes it really easy to shoot yourself in the foot, but performance is easy to reason about
22:24:27 × vglfr quits (~vglfr@2607:fb91:8a4:82b7:ad3:f757:ccf9:424d) (Read error: Connection reset by peer)
22:24:47 vglfr joins (~vglfr@2601:14d:4e01:1370:593a:1997:8b5e:410b)
22:26:33 <geekosaur> lambdaRule, I believe the point here is that if you have Integers with e.g. different ranges or other constraints, you can either wrap them and derive-through things like Eq yourself, or you can use the predefined A,B,C etc.
22:27:37 <geekosaur> (which is in part a hackaround for Haskell not having subtyping)
22:28:15 <geekosaur> a third alternative may be to use Liquid Haskell instead, since it has subtyping
22:30:28 <geekosaur> for examples, consider that you have ages and number-of-days represented as integers. for testing purposes you might use A for the former and B for the latter. that said, if you have enough of them you may want to do it properly with your own newtype wrappers Age and Day so you can more easily keep straight what represents what
22:30:41 × Square2 quits (~Square4@user/square) (Ping timeout: 248 seconds)
22:31:59 <EvanR> C performance is easy to reason about?! It regularly outperforms my mental model by orders of magnitude xD
22:32:07 <EvanR> it's way too fast
22:32:30 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
22:32:40 <geekosaur> lambdarule, anyway, given the stuff they provide for it, that's what it looks like to me
22:32:46 <lambdaRule> I have two more questions: 1. A,B,C have same code except their type name, why are they written like that? 2. The header comment of Poly said these data types are used for testing polymorphic properties, how these newtypes would be used differently than simply choose Int to generate data for a poly type?
22:33:10 <lambdaRule> --still reading your answers
22:33:15 <geekosaur> I am unclear on their use of "polymorphic"
22:33:24 <geekosaur> the rest, well, finish reading first
22:34:15 <geekosaur> the whole point of `newtype` is that it gives a new name and distinct "identity" to an existing type, so you can treat them differently even though (in this case) they're all "just integers"
22:34:39 <geekosaur> for example, adding two ages together doesn't make sense, but ages are integers
22:35:21 <EvanR> the candidates collectively have 250 years among them
22:35:54 <EvanR> just kidding
22:36:07 <monochrom> Computing averages of ages requires adding them. >:)
22:36:10 <geekosaur> but act like they have 15
22:36:58 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:36:59 <monochrom> And yeah also when we say "the two of you have total age 200 why are you still childish"
22:38:13 <monochrom> Haha, computing geometric means of ages requires multiplying them, too. >:D
22:38:30 <monochrom> And standard deviations etc
22:38:54 <geekosaur> yeh, there are exceptions. but in general adding two ages together is a mistake and you want some kind of override operation which by existence says "something special is happening here" / makes you think about whether you're doing something sensible with it
22:39:08 <geekosaur> this is the point of `newtype`
22:39:17 <monochrom> "How to break typeclass laws with statistics"
22:39:55 <geekosaur> but, for simple apps you may skip the newtype, but then you need to test them and use different properties as part of it, so you have the convenience newtypes A,B,C,ordA,ordB,ordC
22:40:29 <geekosaur> (the latter being things you can add together but not add unwrapped numbers to without unwrapping them or wrapping the unwrapped number, for example)
22:40:50 <monochrom> But more seriously:
22:40:53 <geekosaur> this is kinda half-assed type safety for quick and dirty apps
22:42:09 <monochrom> PHP has a type for time. Initially, they had a default value for time too. Then there was an outcry, even among PHP people, because no default value can ever make sense for time.
22:42:33 <geekosaur> (my own take on which being, if you've reached the point where you're doing property-based testing, you've reached the point where you should do it right up front)
22:42:55 Guest|84 joins (~Guest|84@178.60.115.105)
22:43:18 × Guest|84 quits (~Guest|84@178.60.115.105) (Client Quit)
22:43:41 <monochrom> There was a poorly written basic math textbook that went "old temperature was 100F, new temperature is 120F, what's the percentage increase?" which makes no sense because 0F is also an arbitrary reference point.
22:45:21 <geekosaur> and, like time, there's no reasonable reference point for temperature
22:45:43 <geekosaur> (in the classical days there was, but then came quantum temperature and ruined it for everyone)
22:46:41 × spew quits (~spew@2806:2a0:1522:8662::728c) (Quit: spew)
22:46:45 × vglfr quits (~vglfr@2601:14d:4e01:1370:593a:1997:8b5e:410b) (Ping timeout: 248 seconds)
22:47:01 spew joins (~spew@2806:2a0:1522:8662::728c)
22:47:04 vglfr joins (~vglfr@2607:fb91:8a4:82b7:ad3:f757:ccf9:424d)
22:47:45 <monochrom> Using 0K as the reference point, and in the context of thermodynamics, "percentage increase" can be a useful notion.
22:47:55 <geekosaur> again, only classically
22:48:22 <geekosaur> (granting, at the moment if you're talking thermodynamics then you're talking classical physics)
22:48:24 <monochrom> But that textbook was for paramedics, and trying poorly to make a word problem that uses paramedic vocabulary.
22:49:37 <monochrom> A lot of word problems are really poorly contrived.
22:50:22 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
22:50:56 <EvanR> points in space or points in time are intangible, we juggle vectors and matrices all day that represents the moves between them
22:51:16 <geekosaur> (damn you, Einstein)
22:51:31 <EvanR> there's no rubick's cube only rubick's cube group
22:52:17 <EvanR> rubik's cube?!
22:52:24 <geekosaur> (and Einstein's not through with us even yet. the latest is evidence that gravity can be repulsive)
22:53:02 EvanR fires up the gravity capacitor and flies away
22:53:40 <geekosaur> won't work here; we're definitely positive compared to the average density of the universe
22:54:27 <geekosaur> the trick is the GR transformation matrix (Hamiltonian, I think?) depends on the average density of the universe.
22:54:55 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:55:08 <geekosaur> in Einstein's day and for decades afterward, that was considered to be 0 because the universe is mostly empty space.
22:55:39 × lambdaRule quits (~lambdaRul@d108-172-198-192.bchsia.telus.net) (Quit: Client closed)
22:55:47 <geekosaur> but within the past ~10 years, we've found there's a lot of mass-energy in places we thought were completely empty. which means the average mass-density is positive.
22:56:36 <geekosaur> which means any local region where the mass-energy density is less than the average, the transformation matrix is negative: gravity is repulsive
22:56:54 EvanR eyes this story with suspicion
22:57:25 <EvanR> the maximally negatively curved milne universe is still pretty cool ngl
22:58:33 troojg joins (~troojg@user/troojg)
23:03:39 Sgeo joins (~Sgeo@user/sgeo)
23:04:17 × xff0x_ quits (~xff0x@2405:6580:b080:900:faf:b23:bfac:f0c0) (Quit: xff0x_)
23:04:27 × vglfr quits (~vglfr@2607:fb91:8a4:82b7:ad3:f757:ccf9:424d) (Ping timeout: 252 seconds)
23:08:22 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
23:08:55 xff0x joins (~xff0x@2405:6580:b080:900:4168:f973:63de:e89d)
23:11:06 <geekosaur> we are known to be in a "cosmic void" (https://www.space.com/hubble-tension-universe-expansion-supervoid)
23:11:55 <geekosaur> the question is, is it so void that its mass-energy density is below the universe's average? if it is, then galaxies within the void are being pushed apart
23:13:24 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
23:19:49 × ystael quits (~ystael@user/ystael) (Ping timeout: 260 seconds)
23:20:44 <geekosaur> this has a somewhat more formal description plus a link to a paper
23:20:46 <geekosaur> https://manoa.hawaii.edu/news/article.php?aId=8383
23:22:00 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
23:23:53 <geekosaur> although I'm not finding the paper that further claimed that the apparent repulsion was actual repulsion because the average density of the universe is positive instead of 0 and voids have lower than that density
23:24:00 pavonia joins (~user@user/siracusa)
23:24:22 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
23:28:53 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
23:33:13 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
23:33:32 vglfr joins (~vglfr@2601:14d:4e01:1370:9b8b:3d63:7b3f:ede3)
23:34:23 <d34df00d> Also, speaking of performance.
23:34:35 d34df00d shamelessly plugging https://0xd34df00d.me/posts/2024/09/naive-nfas.html
23:34:50 <geekosaur> anyway the claim in the paper I'm remembering is that going by the Milky Way's actual velocity, instead of being pulled into the "Great Attracttor" as originally believed, there's a 16km/s sideways push that means we'll just miss it instead. btu while they could measure it reproducibly, computing the gravitational pulls didn't reproduce that sideways "push"
23:35:41 <geekosaur> then the researchers thought "wait a minute. if there are large voids we can see, that means the average density of space must be above the density within those voids, what does this do to the GR transformation matrices?"
23:36:25 <geekosaur> the answer turned out to be, within the error bars, a 16km/s repulsion from the void in the UManoa paper I linked
23:36:42 <haskellbridge> <@mad:matrix.org> Every time I look at those universe diagrams I get very scared of the cosmic spiders that weave it ...
23:37:03 <geekosaur> so GR calculations just got a lot more complicated because all of those zeroes that aren't zeroes any more, so all the shortcuts don't work any more
23:38:26 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
23:38:39 × mxs quits (~mxs@user/mxs) (Quit: The Lounge - https://thelounge.chat)
23:39:33 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
23:44:37 × m5zs7k quits (aquares@web10.mydevil.net) (Quit: m5zs7k)
23:48:26 m5zs7k joins (aquares@web10.mydevil.net)
23:48:49 <dolio> How could the average density be 0? Does that count 'dark energy' as negative density or something?
23:49:15 merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl)
23:52:45 <geekosaur> "near enough as no matter": it was believed that, despite all the stuff we can see, the gaps between them all are so large that they massive "outweigh" the mass-energy
23:53:13 <dolio> Okay, so not actually 0, but very close.
23:53:14 <geekosaur> (think about it: if it weren't very near 0, the sky would be gray at night, not black with some stars visible)
23:53:17 <geekosaur> yes
23:53:43 × merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
23:54:07 <geekosaur> thing is, while it was thought to be "0, close enough", the very existence of voids says "no, it's not close enough to 0"
23:55:43 <geekosaur> if everywhere not containing a galactic supercluster were a void, that'd be one thing. but voids and supervoids turn out to be patchy
23:59:54 <geekosaur> this also has a detail that helps to confirm it: the better we get at looking, the more loose matter we see… except in those voids

All times are in UTC on 2024-09-16.