2024/11/25

2024-11-25 00:01:09 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-25 00:01:11 +0100 <ramennudel> 4o suggests me “Legacy vs. Flakes: nix-shell is for the traditional Nix expressions (e.g., shell.nix), while nix shell is designed for the modern Flakes-based workflow (flake.nix).↵Command Style: nix-shell uses a more general-purpose environment setup, while nix shell is more focused on using Flakes to directly obtain dependencies or shell
2024-11-25 00:01:11 +0100 <ramennudel> environments.↵Reproducibility: nix shell aims for better reproducibility and is more consistent across different systems, thanks to the use of Flakes, which lock dependencies and configurations.” as key differences, but none of them are a surprise for me, but if the complexity of that topic makes it getting out of scope of the setting here,
2024-11-25 00:01:12 +0100 <ramennudel> I'll switch over to another channel …
2024-11-25 00:06:00 +0100ramennudel(~ramennude@41.66.99.87) (Ping timeout: 252 seconds)
2024-11-25 00:07:16 +0100emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2024-11-25 00:08:39 +0100acidjnk_new3(~acidjnk@p200300d6e7283f30c1cc099943f53135.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-11-25 00:12:27 +0100ramennudel82(~ramennude@41.66.99.87)
2024-11-25 00:14:42 +0100divya(~user@139.5.11.231) divya
2024-11-25 00:23:00 +0100euleritian(~euleritia@77.22.252.159) (Remote host closed the connection)
2024-11-25 00:23:13 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 00:23:16 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-25 00:23:29 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 00:33:30 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2024-11-25 00:33:50 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-11-25 00:51:30 +0100zenmov(~zenmov@103.212.156.64)
2024-11-25 01:02:29 +0100sebastian(~sebastian@130.85.195.36) sebastian_
2024-11-25 01:02:42 +0100sebastianGuest2094
2024-11-25 01:04:00 +0100 <Guest2094> There was this old paper that showed how to calculate e to arbitrary precision by writing it as 2.111..., and converting it. It was in Miranda, though. Does anyone recognize it? I'm trying to find it again and wanted to see how it worked.
2024-11-25 01:05:00 +0100Guest2094sebastian_
2024-11-25 01:05:14 +0100flounders(~flounders@173.246.200.74) flounders
2024-11-25 01:06:13 +0100ramennudel82(~ramennude@41.66.99.87) (Ping timeout: 244 seconds)
2024-11-25 01:17:53 +0100xff0x(~xff0x@2405:6580:b080:900:a62e:eefb:24ad:af2b) (Ping timeout: 245 seconds)
2024-11-25 01:23:06 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-11-25 01:23:44 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2024-11-25 01:24:26 +0100Lord_of_Life_Lord_of_Life
2024-11-25 01:29:47 +0100sebastian_(~sebastian@130.85.195.36) (Quit: sebastian_)
2024-11-25 01:34:40 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-25 01:45:34 +0100falafel(~falafel@2600:1700:99f4:2050:b9c8:4d1e:6719:2f4c) falafel
2024-11-25 01:47:47 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-25 01:48:36 +0100sebastian_(~sebastian@130.85.195.36) sebastian_
2024-11-25 01:50:21 +0100Alleria(~Alleria@user/alleria) (Remote host closed the connection)
2024-11-25 01:51:18 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-25 01:51:34 +0100sprotte24(~sprotte24@p200300d16f17da00542e16fac3908f71.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-11-25 01:52:15 +0100sebastian_(~sebastian@130.85.195.36) (Remote host closed the connection)
2024-11-25 01:52:30 +0100Everything(~Everythin@46-133-77-57.mobile.vf-ua.net) (Quit: leaving)
2024-11-25 01:52:34 +0100sebastian_(~sebastian@130.85.195.36) sebastian_
2024-11-25 01:54:13 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 248 seconds)
2024-11-25 02:00:57 +0100sebastian_(~sebastian@130.85.195.36) (Quit: sebastian_)
2024-11-25 02:12:46 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-11-25 02:13:57 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-11-25 02:17:00 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2024-11-25 02:17:00 +0100ljdarj1ljdarj
2024-11-25 02:20:39 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-11-25 02:20:40 +0100agent314(~quassel@208.131.130.89) (Read error: Connection reset by peer)
2024-11-25 02:29:00 +0100werneta(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2024-11-25 02:29:11 +0100werneta_(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2024-11-25 02:30:30 +0100zzz(~z@user/zero) (Ping timeout: 276 seconds)
2024-11-25 02:32:30 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-11-25 02:33:37 +0100califax(~califax@user/califx) califx
2024-11-25 02:33:57 +0100zero(~z@user/zero) zero
2024-11-25 02:34:33 +0100falafel(~falafel@2600:1700:99f4:2050:b9c8:4d1e:6719:2f4c) (Remote host closed the connection)
2024-11-25 02:37:19 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-25 02:46:04 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2024-11-25 02:46:22 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-25 02:52:32 +0100Alleria(~Alleria@user/alleria) (Remote host closed the connection)
2024-11-25 02:53:32 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-25 02:56:52 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2024-11-25 02:58:48 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-25 03:02:03 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-25 03:03:19 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-25 03:08:12 +0100zero(~z@user/zero) (Ping timeout: 276 seconds)
2024-11-25 03:08:14 +0100sympt(~sympt@user/sympt) (Ping timeout: 252 seconds)
2024-11-25 03:08:23 +0100zzz(~z@user/zero) zero
2024-11-25 03:08:48 +0100zzzzero
2024-11-25 03:09:45 +0100sympt(sympt@user/sympt) sympt
2024-11-25 03:22:05 +0100ZLima12(~zlima12@user/meow/ZLima12) (Remote host closed the connection)
2024-11-25 03:23:13 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2024-11-25 03:27:01 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-25 03:29:23 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-25 03:30:46 +0100troydm(~troydm@user/troydm) troydm
2024-11-25 03:34:04 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-25 03:40:06 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 03:40:38 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 03:48:11 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-11-25 03:48:44 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-11-25 03:50:17 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 03:50:47 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 03:51:19 +0100k_hachig_(~k_hachig@70.29.50.156) k_hachig
2024-11-25 03:57:16 +0100cptaffe(~cptaffe@user/cptaffe) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-25 04:00:28 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 04:00:54 +0100cptaffe(~cptaffe@user/cptaffe) cptaffe
2024-11-25 04:00:58 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 04:08:59 +0100Square(~Square@user/square) (Ping timeout: 265 seconds)
2024-11-25 04:10:39 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 04:11:09 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 04:16:54 +0100agent314(~quassel@208.131.130.89) agent314
2024-11-25 04:20:04 +0100k_hachig_(~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
2024-11-25 04:20:50 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 04:21:21 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 04:23:23 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-25 04:31:01 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 04:31:31 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 04:32:52 +0100k_hachig_(~k_hachig@70.29.50.156) k_hachig
2024-11-25 04:34:07 +0100hacklschorsch(~flo@2a01:4f9:3a:2296::2) (Ping timeout: 265 seconds)
2024-11-25 04:34:09 +0100nshepperd2(~nshepperd@static.117.72.21.65.clients.your-server.de) (Ping timeout: 245 seconds)
2024-11-25 04:37:20 +0100k_hachig_(~k_hachig@70.29.50.156) (Ping timeout: 252 seconds)
2024-11-25 04:40:53 +0100turlando(~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.)
2024-11-25 04:41:12 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 04:41:43 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 04:42:10 +0100turlando(~turlando@user/turlando) turlando
2024-11-25 04:48:29 +0100hacklschorsch(~flo@2a01:4f9:3a:2296::2)
2024-11-25 04:49:43 +0100tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2024-11-25 04:51:23 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 04:51:23 +0100nshepperd2(~nshepperd@2a01:4f9:3b:4cc9::2) nshepperd
2024-11-25 04:51:54 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 05:01:33 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 05:02:05 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 05:05:09 +0100alp_(~alp@2001:861:8ca0:4940:1c78:ec05:599:ba4d)
2024-11-25 05:06:00 +0100aforemny_(~aforemny@i59F4C7EE.versanet.de) aforemny
2024-11-25 05:06:05 +0100troydm(~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2024-11-25 05:06:57 +0100aforemny(~aforemny@2001:9e8:6cf2:b00:34d1:3086:bf30:f05b) (Ping timeout: 252 seconds)
2024-11-25 05:10:04 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-11-25 05:11:45 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-25 05:12:15 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-25 05:13:14 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-11-25 05:21:36 +0100 <haskellbridge> <Bowuigi> I don't have the paper but I can get the literate source file from the Miranda examples
2024-11-25 05:23:53 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-11-25 05:24:07 +0100 <haskellbridge> <Bowuigi> https://paste.tomsmeding.com/V0T1qcn1
2024-11-25 05:24:44 +0100 <haskellbridge> <Bowuigi> Lmao I messed up
2024-11-25 05:25:48 +0100 <haskellbridge> <Bowuigi> https://paste.tomsmeding.com/kQbZKa5y
2024-11-25 05:26:14 +0100 <haskellbridge> <Bowuigi> There it is. Miranda highlighting is nonexistent but it looks similar enough to Haskell to be readable
2024-11-25 05:28:39 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-25 05:36:05 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2024-11-25 05:53:44 +0100michalz(~michalz@185.246.207.203)
2024-11-25 05:59:18 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-25 06:03:43 +0100mrmr155334346318(~mrmr@user/mrmr) (Read error: Connection reset by peer)
2024-11-25 06:03:57 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 06:23:08 +0100Digitteknohippie(~user@user/digit) Digit
2024-11-25 06:23:34 +0100Digit(~user@user/digit) (Ping timeout: 260 seconds)
2024-11-25 06:28:18 +0100Digitteknohippie(~user@user/digit) (Ping timeout: 245 seconds)
2024-11-25 06:32:02 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 248 seconds)
2024-11-25 06:38:57 +0100alp_(~alp@2001:861:8ca0:4940:1c78:ec05:599:ba4d) (Ping timeout: 248 seconds)
2024-11-25 06:48:29 +0100Digit(~user@user/digit) Digit
2024-11-25 06:51:17 +0100werneta(~werneta@syn-071-083-160-242.res.spectrum.com) (Quit: Lost terminal)
2024-11-25 06:58:18 +0100m1dnight(~m1dnight@d8D861908.access.telenet.be) (Quit: WeeChat 3.0)
2024-11-25 07:00:52 +0100ZLima12(~zlima12@user/meow/ZLima12) ()
2024-11-25 07:01:18 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2024-11-25 07:02:03 +0100zenmov(~zenmov@103.212.156.64) (Quit: Reconnecting)
2024-11-25 07:02:21 +0100zenmov(~zenmov@103.212.156.64)
2024-11-25 07:03:33 +0100zenmov(~zenmov@103.212.156.64) (Changing host)
2024-11-25 07:03:33 +0100zenmov(~zenmov@user/zenmov) zenmov
2024-11-25 07:05:53 +0100zenmov(~zenmov@user/zenmov) (Client Quit)
2024-11-25 07:06:07 +0100zenmov(~zenmov@103.212.156.64)
2024-11-25 07:07:08 +0100zenmov(~zenmov@103.212.156.64) (Client Quit)
2024-11-25 07:07:59 +0100zenmov(~zenmov@user/zenmov) zenmov
2024-11-25 07:08:29 +0100zenmov(~zenmov@user/zenmov) (Client Quit)
2024-11-25 07:08:48 +0100zenmov(~zenmov@user/zenmov) zenmov
2024-11-25 07:10:30 +0100alp_(~alp@2001:861:8ca0:4940:7405:6191:e327:e5b3)
2024-11-25 07:14:37 +0100alp_(~alp@2001:861:8ca0:4940:7405:6191:e327:e5b3) (Ping timeout: 252 seconds)
2024-11-25 07:14:51 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2024-11-25 07:18:17 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-11-25 07:19:43 +0100akegalj(~akegalj@78-0-40-193.adsl.net.t-com.hr)
2024-11-25 07:22:52 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
2024-11-25 07:23:15 +0100krei-se(~krei-se@p57af2af4.dip0.t-ipconnect.de) (Quit: ZNC 1.9.1 - https://znc.in)
2024-11-25 07:23:41 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 07:34:00 +0100divya`(~user@139.5.11.5)
2024-11-25 07:35:46 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
2024-11-25 07:35:54 +0100divya(~user@139.5.11.231) (Ping timeout: 260 seconds)
2024-11-25 07:37:57 +0100euleritian(~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de)
2024-11-25 07:41:24 +0100krei-se(~krei-se@p57af2af4.dip0.t-ipconnect.de) krei-se
2024-11-25 07:47:29 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-25 07:48:17 +0100kuribas(~user@ptr-17d51emjupdmw5dv1xj.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2024-11-25 07:49:58 +0100m1dnight(~m1dnight@141.134.25.8) m1dnight
2024-11-25 07:50:44 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 07:51:02 +0100housemate(~housemate@2401:d002:b902:e01:2fcc:d902:afdc:6dcc) housemate
2024-11-25 07:55:55 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 264 seconds)
2024-11-25 07:57:03 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-25 07:57:15 +0100acidjnk_new3(~acidjnk@p200300d6e7283f0888af8ecdd6430c47.dip0.t-ipconnect.de)
2024-11-25 08:03:56 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-25 08:06:41 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-25 08:14:03 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-25 08:17:04 +0100monochrm(~trebla@216.138.220.146)
2024-11-25 08:19:50 +0100monochrom(trebla@216.138.220.146) (Ping timeout: 265 seconds)
2024-11-25 08:19:51 +0100monochrmmonochrom
2024-11-25 08:20:13 +0100werneta_(~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 244 seconds)
2024-11-25 08:24:08 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-11-25 08:26:22 +0100kuribas(~user@ptr-17d51ep38mnuz9z1v6u.18120a2.ip6.access.telenet.be) kuribas
2024-11-25 08:29:28 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 08:31:38 +0100housemate(~housemate@2401:d002:b902:e01:2fcc:d902:afdc:6dcc) (Quit: Nothing to see here. I wasn't there.)
2024-11-25 08:34:40 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 272 seconds)
2024-11-25 08:35:17 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-11-25 08:35:59 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:a5f2:fab8:efd2:829e) billchenchina
2024-11-25 08:39:06 +0100housemate(~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au) housemate
2024-11-25 08:43:17 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) ubert
2024-11-25 08:45:10 +0100Digitteknohippie(~user@user/digit) Digit
2024-11-25 08:45:25 +0100Digit(~user@user/digit) (Ping timeout: 248 seconds)
2024-11-25 08:46:06 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2024-11-25 08:50:34 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
2024-11-25 08:56:14 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-11-25 09:00:02 +0100DigitteknohippieDigit
2024-11-25 09:00:04 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-25 09:00:40 +0100caconym(~caconym@user/caconym) caconym
2024-11-25 09:02:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-25 09:05:06 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 09:10:25 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) CiaoSen
2024-11-25 09:10:59 +0100euleritian(~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de) (Ping timeout: 260 seconds)
2024-11-25 09:11:04 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 265 seconds)
2024-11-25 09:12:17 +0100euleritian(~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de)
2024-11-25 09:13:28 +0100alp_(~alp@2001:861:8ca0:4940:7547:ca49:678a:f89b)
2024-11-25 09:14:34 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Client Quit)
2024-11-25 09:16:06 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 276 seconds)
2024-11-25 09:17:22 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-11-25 09:17:24 +0100euleritian(~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de) (Ping timeout: 276 seconds)
2024-11-25 09:18:43 +0100euleritian(~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de)
2024-11-25 09:19:35 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 09:20:36 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) CiaoSen
2024-11-25 09:22:44 +0100vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2024-11-25 09:22:53 +0100emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2024-11-25 09:23:45 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-11-25 09:24:37 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-25 09:26:22 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Client Quit)
2024-11-25 09:27:43 +0100akegalj(~akegalj@78-0-40-193.adsl.net.t-com.hr) (Ping timeout: 252 seconds)
2024-11-25 09:35:48 +0100akegalj(~akegalj@14-174.dsl.iskon.hr)
2024-11-25 09:45:30 +0100chele(~chele@user/chele) chele
2024-11-25 09:45:54 +0100briandaed(~root@user/briandaed) briandaed
2024-11-25 09:47:55 +0100euleritian(~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-25 09:48:13 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 09:58:24 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2024-11-25 10:03:50 +0100housemate(~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au) (Quit: Nothing to see here. I wasn't there.)
2024-11-25 10:06:57 +0100akegalj(~akegalj@14-174.dsl.iskon.hr) (Ping timeout: 248 seconds)
2024-11-25 10:07:27 +0100__monty__(~toonn@user/toonn) toonn
2024-11-25 10:17:31 +0100akegalj(~akegalj@78-0-40-193.adsl.net.t-com.hr)
2024-11-25 10:24:03 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 10:26:59 +0100youthlic(~Thunderbi@user/youthlic) (Ping timeout: 260 seconds)
2024-11-25 10:31:05 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 10:31:38 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 10:33:17 +0100swamp_(~zmt00@user/zmt00) zmt00
2024-11-25 10:33:39 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-11-25 10:34:12 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-25 10:34:39 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 10:36:19 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 260 seconds)
2024-11-25 10:36:43 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 264 seconds)
2024-11-25 10:39:35 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-11-25 10:40:15 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2024-11-25 10:43:51 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 276 seconds)
2024-11-25 10:46:20 +0100housemate(~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au) housemate
2024-11-25 10:49:07 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) CiaoSen
2024-11-25 10:55:48 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 11:05:23 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds)
2024-11-25 11:11:23 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-25 11:17:44 +0100akegalj(~akegalj@78-0-40-193.adsl.net.t-com.hr) (Quit: leaving)
2024-11-25 11:17:46 +0100 <enikar> I found this article about how to compute the digits of e: http://numbers.computation.free.fr/Constants/E/e.html
2024-11-25 11:20:26 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds)
2024-11-25 11:22:04 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-11-25 11:22:11 +0100michalz_(~michalz@185.246.207.201)
2024-11-25 11:22:24 +0100sprotte24(~sprotte24@p200300d16f213400dd385f477fcc6828.dip0.t-ipconnect.de)
2024-11-25 11:22:52 +0100michalz(~michalz@185.246.207.203) (Ping timeout: 252 seconds)
2024-11-25 11:24:13 +0100sprotte24(~sprotte24@p200300d16f213400dd385f477fcc6828.dip0.t-ipconnect.de) (Client Quit)
2024-11-25 11:26:06 +0100 <kqr> I was reading about Monad of no return[1] and one of the paragraphs ends with "This unfortunate situation also blocks us from being able to remove"
2024-11-25 11:26:09 +0100 <kqr> the post-AMP method redundancy in the Foldable/Traversable classes.
2024-11-25 11:26:26 +0100 <kqr> Which methods are these? I can guess sequence/sequenceA, but are there more like that?
2024-11-25 11:32:45 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-25 11:33:48 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 11:34:05 +0100 <enikar> there is also mapM, mapM_, and probably others, I think to filterM and foldM but I'm not sure.
2024-11-25 11:35:01 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-11-25 11:35:32 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-11-25 11:35:59 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 255 seconds)
2024-11-25 11:39:13 +0100 <kqr> Hm. I always confuse Foldable and Traversable. Which is the weaker/more general constraint? I imagine it to be Foldable but I get unsure.
2024-11-25 11:40:10 +0100 <kqr> Actually that's easy to look up. Traversable implies Foldable
2024-11-25 11:41:07 +0100 <kqr> Oh yeah, mapM = traverse. Never realised that. I'm learning so much today.
2024-11-25 11:41:18 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 252 seconds)
2024-11-25 11:45:33 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-25 11:48:39 +0100 <jackdk> kqr: you can also build `foldMap` out of `traverse` using the `Const r` applicative, showing that every Traversable is Foldable.
2024-11-25 11:49:12 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 11:50:34 +0100 <enikar> kqr: you should read typeclassopedia, it is on https://wiki.haskell.org/Haskell. Unfortunately, it's broken for now.
2024-11-25 11:51:14 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-25 11:53:29 +0100 <jackdk> https://wiki.haskell.org/index.php?title=Typeclassopedia Looks like they haven't got the old links working but I could get it with a search
2024-11-25 12:00:39 +0100 <enikar> there is this information: https://status.haskell.org/
2024-11-25 12:09:38 +0100xff0x(~xff0x@2405:6580:b080:900:1f91:7e93:b51d:2d0f)
2024-11-25 12:09:38 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-25 12:10:06 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 12:10:58 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
2024-11-25 12:11:38 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-11-25 12:14:17 +0100remedan(~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan
2024-11-25 12:16:17 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-25 12:23:16 +0100p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n
2024-11-25 12:23:52 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 12:26:32 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-11-25 12:27:25 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-11-25 12:28:44 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2024-11-25 12:29:48 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2024-11-25 12:29:48 +0100ljdarj1ljdarj
2024-11-25 12:33:31 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 12:35:56 +0100 <kqr> Thanks! The Haddocks on Traversable and Foldable are also much richer than I remember them to be!
2024-11-25 12:38:49 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-11-25 12:39:08 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 272 seconds)
2024-11-25 12:40:04 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 12:40:15 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 12:42:15 +0100agent314(~quassel@208.131.130.89) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-11-25 12:44:36 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-25 12:46:11 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 255 seconds)
2024-11-25 12:47:29 +0100youthlic(~Thunderbi@user/youthlic) (Ping timeout: 248 seconds)
2024-11-25 12:49:10 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-25 12:51:22 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 12:53:27 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-11-25 12:54:44 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds)
2024-11-25 12:58:24 +0100mari-estel(~mari-este@user/mari-estel) (Ping timeout: 276 seconds)
2024-11-25 12:58:44 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 13:03:18 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2024-11-25 13:06:14 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-25 13:08:35 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 13:09:50 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds)
2024-11-25 13:31:19 +0100mari-estel(~mari-este@user/mari-estel) (Ping timeout: 264 seconds)
2024-11-25 13:31:39 +0100pavonia(~user@user/siracusa) siracusa
2024-11-25 13:35:52 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) k_hachig
2024-11-25 13:41:21 +0100k_hachig_(~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 248 seconds)
2024-11-25 13:41:50 +0100j1n37(j1n37@user/j1n37) (Read error: Connection reset by peer)
2024-11-25 13:45:07 +0100j1n37(j1n37@user/j1n37) j1n37
2024-11-25 13:49:19 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2024-11-25 13:49:27 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-25 13:53:38 +0100notzmv(~umar@user/notzmv) (Ping timeout: 248 seconds)
2024-11-25 13:56:05 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) CiaoSen
2024-11-25 14:06:34 +0100 <hellwolf> I vaguely remember that there was a proposal where you could quote monidically bound values. Hence you can write `doSomeIO $(getValueIO)` vs. `a <- getValueIO; doSomeIO`. Baring the actual quote syntax that I cannot recall now.
2024-11-25 14:06:40 +0100 <hellwolf> Does anyone remember this one?
2024-11-25 14:06:41 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-11-25 14:07:18 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 14:08:38 +0100Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) (Remote host closed the connection)
2024-11-25 14:10:59 +0100Spawns_Carpeting(~mobile@user/spawns-carpeting/x-6969421) Spawns_Carpeting
2024-11-25 14:17:14 +0100merijn(~merijn@77.242.116.146) (Quit: Lost terminal)
2024-11-25 14:17:43 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 14:20:08 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-25 14:20:51 +0100 <Leary> hellwolf: I don't know about a proposal, but there's <https://hackage.haskell.org/package/monadic-bang>.
2024-11-25 14:23:34 +0100 <hellwolf> monadic-bang, that's the word
2024-11-25 14:24:26 +0100 <hellwolf> very tempted to use it... while I am using a lot of GHC extensions, but I do pause a little when using plugins...
2024-11-25 14:24:54 +0100 <hellwolf> having concerns around maintainability since plugins can be orphaned
2024-11-25 14:25:25 +0100 <hellwolf> maybe this is a unwarranted concern.
2024-11-25 14:25:35 +0100smiesner(b0cf5acf8c@2a03:6000:1812:100::13b9) (Remote host closed the connection)
2024-11-25 14:25:35 +0100raghavgururajan(ea769b8000@user/raghavgururajan) (Remote host closed the connection)
2024-11-25 14:25:35 +0100rselim(ce261f06ff@user/milesrout) (Remote host closed the connection)
2024-11-25 14:25:36 +0100tok(da65c7b04b@user/tok) (Remote host closed the connection)
2024-11-25 14:25:36 +0100fn_lumi(3d621153a5@2a03:6000:1812:100::df7) (Remote host closed the connection)
2024-11-25 14:25:36 +0100arcadewise(52968ed80d@2a03:6000:1812:100::3df) (Remote host closed the connection)
2024-11-25 14:25:36 +0100cpli(77fc530071@2a03:6000:1812:100::252) (Remote host closed the connection)
2024-11-25 14:25:36 +0100ymherklotz(cb2c9cfbdd@2a03:6000:1812:100::29a) (Remote host closed the connection)
2024-11-25 14:25:36 +0100fvr(ef3e56ca8b@2a03:6000:1812:100::3c4) (Remote host closed the connection)
2024-11-25 14:25:36 +0100jakzale(6291399afa@user/jakzale) (Remote host closed the connection)
2024-11-25 14:25:36 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) (Remote host closed the connection)
2024-11-25 14:25:36 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Remote host closed the connection)
2024-11-25 14:25:36 +0100chaitlatte0(ea29c0bb16@user/chaitlatte0) (Remote host closed the connection)
2024-11-25 14:25:36 +0100jkoshy(99b9359beb@user/jkoshy) (Remote host closed the connection)
2024-11-25 14:25:36 +0100lane(809450f172@2a03:6000:1812:100::1300) (Remote host closed the connection)
2024-11-25 14:25:36 +0100sus(1b7af6299f@user/zeromomentum) (Remote host closed the connection)
2024-11-25 14:25:36 +0100bwolf(c3bc363dd1@2a03:6000:1812:100::180) (Remote host closed the connection)
2024-11-25 14:25:36 +0100shreyasminocha(51fdc93eda@user/shreyasminocha) (Remote host closed the connection)
2024-11-25 14:25:36 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266) (Remote host closed the connection)
2024-11-25 14:25:36 +0100082AAS5CR(7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection)
2024-11-25 14:25:36 +0100henrytill(e0180937c3@2a03:6000:1812:100::e8c) (Remote host closed the connection)
2024-11-25 14:25:36 +0100duncan(c6181279e3@user/meow/duncan) (Remote host closed the connection)
2024-11-25 14:25:37 +0100jleightcap(7bc4014b62@user/jleightcap) (Remote host closed the connection)
2024-11-25 14:25:37 +0100lucyy(228ee8f0ce@user/lucyy) (Remote host closed the connection)
2024-11-25 14:25:37 +0100filwisher(2e6936c793@2a03:6000:1812:100::170) (Remote host closed the connection)
2024-11-25 14:25:37 +0100sm2n(ae95cb1267@user/sm2n) (Remote host closed the connection)
2024-11-25 14:25:37 +0100samhh(7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection)
2024-11-25 14:25:37 +0100evanrelf(3addc196af@2a03:6000:1812:100::f0) (Remote host closed the connection)
2024-11-25 14:25:37 +0100fgaz(1ff9197ed6@2a03:6000:1812:100::11ea) (Remote host closed the connection)
2024-11-25 14:25:37 +0100jmcantrell(644f1bed9a@user/jmcantrell) (Remote host closed the connection)
2024-11-25 14:25:37 +0100JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3) (Remote host closed the connection)
2024-11-25 14:25:37 +0100akspecs(00cc8321af@sourcehut/user/akspecs) (Remote host closed the connection)
2024-11-25 14:25:37 +0100titibandit(e33ffbab65@user/titibandit) (Remote host closed the connection)
2024-11-25 14:25:37 +0100bsima1(9d7e39c8ad@2a03:6000:1812:100::dd) (Remote host closed the connection)
2024-11-25 14:25:37 +0100lukec(9dfd4d094e@2a03:6000:1812:100::10e) (Remote host closed the connection)
2024-11-25 14:25:37 +0100aniketd(32aa4844cd@2a03:6000:1812:100::dcb) (Remote host closed the connection)
2024-11-25 14:25:37 +0100pmk_(6afe4476a1@2a03:6000:1812:100::26d) (Remote host closed the connection)
2024-11-25 14:25:37 +0100RussetParrotBear(45ce440a48@2a03:6000:1812:100::e2) (Remote host closed the connection)
2024-11-25 14:25:37 +0100ursa-major(114efe6c39@2a03:6000:1812:100::11f3) (Remote host closed the connection)
2024-11-25 14:25:38 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (Remote host closed the connection)
2024-11-25 14:25:38 +0100Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2) (Remote host closed the connection)
2024-11-25 14:25:38 +0100probie(cc0b34050a@user/probie) (Remote host closed the connection)
2024-11-25 14:25:41 +0100Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2024-11-25 14:25:57 +0100smiesner(b0cf5acf8c@user/smiesner) smiesner
2024-11-25 14:25:58 +0100evanrelf(3addc196af@2a03:6000:1812:100::f0) evanrelf
2024-11-25 14:25:59 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) ggb
2024-11-25 14:25:59 +0100fgaz(1ff9197ed6@2a03:6000:1812:100::11ea) fgaz
2024-11-25 14:25:59 +0100RussetParrotBear(45ce440a48@2a03:6000:1812:100::e2)
2024-11-25 14:25:59 +0100filwisher(2e6936c793@2a03:6000:1812:100::170)
2024-11-25 14:25:59 +0100bsima1(9d7e39c8ad@2a03:6000:1812:100::dd)
2024-11-25 14:25:59 +0100pmk(6afe4476a1@2a03:6000:1812:100::26d) pmk
2024-11-25 14:25:59 +0100lane(809450f172@2a03:6000:1812:100::1300) lane
2024-11-25 14:26:00 +0100lukec(9dfd4d094e@2a03:6000:1812:100::10e)
2024-11-25 14:26:00 +0100arcadewise(52968ed80d@2a03:6000:1812:100::3df) l3gacyb3ta
2024-11-25 14:26:00 +0100probie(cc0b34050a@user/probie) probie
2024-11-25 14:26:00 +0100shreyasminocha(51fdc93eda@user/shreyasminocha) shreyasminocha
2024-11-25 14:26:01 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) whereiseveryone
2024-11-25 14:26:01 +0100jakzale(6291399afa@user/jakzale) jakzale
2024-11-25 14:26:02 +0100aniketd(32aa4844cd@2a03:6000:1812:100::dcb) aniketd
2024-11-25 14:26:02 +0100cpli(77fc530071@2a03:6000:1812:100::252) cpli
2024-11-25 14:26:03 +0100samhh(7569f027cf@2a03:6000:1812:100::e4) samhh
2024-11-25 14:26:03 +0100raghavgururajan(ea769b8000@user/raghavgururajan) raghavgururajan
2024-11-25 14:26:03 +0100sus(1b7af6299f@user/zeromomentum) zeromomentum
2024-11-25 14:26:03 +0100rselim(ce261f06ff@user/milesrout) milesrout
2024-11-25 14:26:03 +0100Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2) Ankhers
2024-11-25 14:26:03 +0100fn_lumi(3d621153a5@2a03:6000:1812:100::df7) fn_lumi
2024-11-25 14:26:03 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) b0o
2024-11-25 14:26:04 +0100duncan(c6181279e3@user/meow/duncan) duncan
2024-11-25 14:26:04 +0100sm2n(ae95cb1267@user/sm2n) sm2n
2024-11-25 14:26:04 +0100fvr(ef3e56ca8b@2a03:6000:1812:100::3c4) fvr
2024-11-25 14:26:04 +0100ursa-major(114efe6c39@2a03:6000:1812:100::11f3) ursa-major
2024-11-25 14:26:04 +0100titibandit(e33ffbab65@user/titibandit) titibandit
2024-11-25 14:26:05 +0100ymherklotz(cb2c9cfbdd@2a03:6000:1812:100::29a) ymherklotz
2024-11-25 14:26:05 +0100bwolf(c3bc363dd1@2a03:6000:1812:100::180) bwolf
2024-11-25 14:26:05 +0100tok(da65c7b04b@user/tok) tok
2024-11-25 14:26:05 +0100jkoshy(99b9359beb@user/jkoshy) jkoshy
2024-11-25 14:26:05 +0100jleightcap(7bc4014b62@user/jleightcap) jleightcap
2024-11-25 14:26:05 +0100JoelMcCracken(5ea8252fbb@2a03:6000:1812:100::10e3) JoelMcCracken
2024-11-25 14:26:05 +0100akspecs(00cc8321af@sourcehut/user/akspecs) akspecs
2024-11-25 14:26:05 +0100lucyy(228ee8f0ce@user/lucyy) lucyy
2024-11-25 14:26:06 +0100jmcantrell(644f1bed9a@user/jmcantrell) jmcantrell
2024-11-25 14:26:06 +0100henrytill(e0180937c3@2a03:6000:1812:100::e8c) henrytill
2024-11-25 14:26:06 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266) jeso
2024-11-25 14:26:07 +0100chaitlatte0(ea29c0bb16@user/chaitlatte0) chaitlatte0
2024-11-25 14:27:51 +0100samhh_(7569f027cf@2a03:6000:1812:100::e4) samhh
2024-11-25 14:29:52 +0100xdminsy(~xdminsy@117.147.71.197) (Ping timeout: 252 seconds)
2024-11-25 14:31:27 +0100billchenchina(~billchenc@2a0d:2580:ff0c:201:a5f2:fab8:efd2:829e) (Quit: Leaving)
2024-11-25 14:36:53 +0100subjective51(~SN51@181.126.202.207)
2024-11-25 14:42:59 +0100subjective51(~SN51@181.126.202.207) (Changing host)
2024-11-25 14:42:59 +0100subjective51(~SN51@user/subjective51) subjective51
2024-11-25 14:47:18 +0100euleritian(~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de)
2024-11-25 14:47:33 +0100ftzm(~ftzm@085080233074.dynamic.telenor.dk) (Ping timeout: 248 seconds)
2024-11-25 14:53:27 +0100youthlic(~Thunderbi@user/youthlic) (Ping timeout: 276 seconds)
2024-11-25 14:56:33 +0100CiaoSen(~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds)
2024-11-25 15:04:21 +0100k_hachig_(~k_hachig@138-51-75-188-lsn-2.nat.utoronto.ca) k_hachig
2024-11-25 15:09:08 +0100k_hachig_(~k_hachig@138-51-75-188-lsn-2.nat.utoronto.ca) (Ping timeout: 245 seconds)
2024-11-25 15:12:48 +0100comerijn(~merijn@77.242.116.146) merijn
2024-11-25 15:15:00 +0100Square2(~Square4@user/square) Square
2024-11-25 15:15:37 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2024-11-25 15:19:01 +0100gmg(~user@user/gehmehgeh) (Ping timeout: 260 seconds)
2024-11-25 15:22:44 +0100alp_(~alp@2001:861:8ca0:4940:7547:ca49:678a:f89b) (Ping timeout: 260 seconds)
2024-11-25 15:32:44 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-25 15:32:49 +0100k_hachig_(~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com) k_hachig
2024-11-25 15:43:03 +0100comerijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2024-11-25 15:51:11 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 15:51:18 +0100tired-(~tired@user/tired) tired
2024-11-25 15:52:36 +0100tired(~tired@user/tired) (Ping timeout: 276 seconds)
2024-11-25 16:02:03 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2024-11-25 16:06:51 +0100subjective51(~SN51@user/subjective51) (Remote host closed the connection)
2024-11-25 16:08:47 +0100subjective51(~SN51@user/subjective51) subjective51
2024-11-25 16:20:36 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 16:24:49 +0100euleritian(~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-25 16:25:08 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 16:30:43 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 264 seconds)
2024-11-25 16:30:46 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-25 16:33:21 +0100slack1256(~slack1256@179.60.70.224) slack1256
2024-11-25 16:33:55 +0100 <slack1256> I got the following error: error in RTS option -nonmoving-gc: size outside allowed range. Does it ring a bell for anybody?
2024-11-25 16:37:15 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2024-11-25 16:37:33 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 16:38:38 +0100sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-11-25 16:38:38 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-25 16:39:02 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-11-25 16:39:02 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 16:40:38 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-25 16:40:38 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-25 16:40:59 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 16:42:12 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-11-25 16:42:20 +0100euleritian(~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de)
2024-11-25 16:42:42 +0100euleritian(~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-25 16:42:59 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 16:44:40 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-25 16:45:55 +0100weary-traveler(~user@user/user363627) user363627
2024-11-25 16:46:54 +0100 <carbolymer> what would be the best name for this class instead of Foo / foo: class Foo (f :: k -> Type) (g :: k -> Type) where foo :: forall x. f x -> g x
2024-11-25 16:49:32 +0100 <Rembane> carbolymer: It looks like a composition
2024-11-25 16:50:54 +0100 <carbolymer> Rembane: but you're not composing anything, but swapping f for g. it could be GADT, or whatever
2024-11-25 16:51:13 +0100mari-estel(~mari-este@user/mari-estel) (Ping timeout: 245 seconds)
2024-11-25 16:51:27 +0100 <Rembane> carbolymer: Oh, I misread. Could it be a natural transformation?
2024-11-25 16:51:48 +0100 <Rembane> carbolymer: ...but it's not a functor, so...
2024-11-25 16:52:23 +0100Alleria(~Alleria@user/alleria) (Remote host closed the connection)
2024-11-25 16:54:10 +0100 <carbolymer> Rembane: that could be, I'm wondering if there's any other intuitive name for that
2024-11-25 16:54:22 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2024-11-25 16:55:14 +0100 <Rembane> carbolymer: I hope so, Replacement could be another name.
2024-11-25 17:00:46 +0100k_hachig__(~k_hachig@2605:b100:10c:bff7:c427:a311:1399:2ff6) k_hachig
2024-11-25 17:01:28 +0100 <carbolymer> Replacement is nice, maybe shorter Replace would work, thanks
2024-11-25 17:01:42 +0100 <Leary> carbolymer: Why a type class? Natural transformations are hardly unique. The synonym `type f ~> g = forall x. f x -> g x` is typical, and that should be all you need.
2024-11-25 17:02:05 +0100 <Rembane> carbolymer: No worries!
2024-11-25 17:02:46 +0100 <carbolymer> Leary: I have a handful of types which are injected one into the other. So I'm rather looking for a uniform conversion api, rather than a constraint
2024-11-25 17:03:17 +0100k_hachig_(~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds)
2024-11-25 17:03:48 +0100k_hachig_(~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com) k_hachig
2024-11-25 17:03:59 +0100 <carbolymer> I guess I could just use `class Inject a b where inject :: a -> b` but it requires sometimes type application to make it work. Foo I posted solves minor culprit.
2024-11-25 17:04:33 +0100 <carbolymer> s/minor culprit/that minor issue/
2024-11-25 17:05:13 +0100k_hachig__(~k_hachig@2605:b100:10c:bff7:c427:a311:1399:2ff6) (Ping timeout: 265 seconds)
2024-11-25 17:06:07 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-25 17:06:47 +0100youthlic(~Thunderbi@user/youthlic) (Remote host closed the connection)
2024-11-25 17:08:47 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 17:09:25 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-25 17:19:11 +0100califax(~califax@user/califx) (Ping timeout: 260 seconds)
2024-11-25 17:19:34 +0100califax(~califax@user/califx) califx
2024-11-25 17:19:37 +0100mantraofpie_(~mantraofp@user/mantraofpie) mantraofpie
2024-11-25 17:20:14 +0100slack1256(~slack1256@179.60.70.224) (Remote host closed the connection)
2024-11-25 17:20:25 +0100mantraofpie(~mantraofp@user/mantraofpie) (Remote host closed the connection)
2024-11-25 17:20:32 +0100chexum_(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-11-25 17:20:42 +0100mantraofpie_mantraofpie
2024-11-25 17:21:13 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-11-25 17:26:17 +0100alp_(~alp@2001:861:8ca0:4940:c709:ad18:8b15:a8dc)
2024-11-25 17:27:32 +0100 <merijn> SlackCoder: Well, have you checked the GHC user's guide to see what values are valid? :p
2024-11-25 17:27:45 +0100 <merijn> ah, tab completion fail
2024-11-25 17:33:15 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 246 seconds)
2024-11-25 17:38:08 +0100gmg(~user@user/gehmehgeh) gehmehgeh
2024-11-25 17:39:14 +0100merijn(~merijn@77.242.116.146) merijn
2024-11-25 17:42:28 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2024-11-25 17:45:16 +0100euleritian(~euleritia@dynamic-176-006-134-149.176.6.pool.telefonica.de)
2024-11-25 17:47:50 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2024-11-25 17:49:59 +0100euleritian(~euleritia@dynamic-176-006-134-149.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-25 17:50:08 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 17:51:48 +0100divya`(~user@139.5.11.5) (Ping timeout: 246 seconds)
2024-11-25 18:03:10 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-11-25 18:08:26 +0100euphores(~SASL_euph@user/euphores) euphores
2024-11-25 18:12:05 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-11-25 18:12:32 +0100Alleria_(~Alleria@user/alleria) Alleria
2024-11-25 18:14:57 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
2024-11-25 18:15:06 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 252 seconds)
2024-11-25 18:15:18 +0100euleritian(~euleritia@dynamic-176-006-130-078.176.6.pool.telefonica.de)
2024-11-25 18:20:57 +0100Digit(~user@user/digit) (Remote host closed the connection)
2024-11-25 18:21:25 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2024-11-25 18:25:10 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-11-25 18:25:47 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Max SendQ exceeded)
2024-11-25 18:26:14 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-11-25 18:26:20 +0100euleritian(~euleritia@dynamic-176-006-130-078.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-25 18:26:38 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 18:28:17 +0100k_hachig_(~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
2024-11-25 18:39:11 +0100alp_(~alp@2001:861:8ca0:4940:c709:ad18:8b15:a8dc) (Ping timeout: 252 seconds)
2024-11-25 18:45:21 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-25 18:45:51 +0100euleritian(~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de)
2024-11-25 18:46:29 +0100euleritian(~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-11-25 18:46:46 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-25 18:55:49 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-25 19:01:43 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-25 19:05:34 +0100mari-estel(~mari-este@user/mari-estel) ()
2024-11-25 19:06:21 +0100Square(~Square@user/square) Square
2024-11-25 19:07:37 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-25 19:08:38 +0100ACuriousMoose(~ACuriousM@156.34.161.188) (Ping timeout: 272 seconds)
2024-11-25 19:08:45 +0100dibblego(~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
2024-11-25 19:08:57 +0100ACuriousMoose(~ACuriousM@156.34.161.188) ACuriousMoose
2024-11-25 19:09:07 +0100dibblego(~dibblego@116-255-1-119.ip4.superloop.au)
2024-11-25 19:09:07 +0100dibblego(~dibblego@116-255-1-119.ip4.superloop.au) (Changing host)
2024-11-25 19:09:07 +0100dibblego(~dibblego@haskell/developer/dibblego) dibblego
2024-11-25 19:09:57 +0100Square2(~Square4@user/square) (Ping timeout: 248 seconds)
2024-11-25 19:11:01 +0100tinjamin4(~tinjamin@banshee.h4x0r.space) (Ping timeout: 248 seconds)
2024-11-25 19:11:01 +0100Athas(athas@sigkill.dk) (Ping timeout: 248 seconds)
2024-11-25 19:11:05 +0100cross(~cross@spitfire.i.gajendra.net) (Ping timeout: 252 seconds)
2024-11-25 19:11:15 +0100tinjamin4(~tinjamin@banshee.h4x0r.space)
2024-11-25 19:11:27 +0100guygastineau(~guygastin@137.184.131.156) (Ping timeout: 252 seconds)
2024-11-25 19:11:45 +0100cross(~cross@spitfire.i.gajendra.net) cross
2024-11-25 19:11:46 +0100RMSBach(~guygastin@137.184.131.156) RMSBach
2024-11-25 19:12:33 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-11-25 19:12:34 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-11-25 19:12:39 +0100Athas(athas@2a01:7c8:aaac:1cf:1953:5ca8:4562:ea33)
2024-11-25 19:13:24 +0100euleritian(~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de)
2024-11-25 19:13:41 +0100dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 248 seconds)
2024-11-25 19:14:01 +0100pounce(~pounce@user/cute/pounce) (Ping timeout: 252 seconds)
2024-11-25 19:14:15 +0100pounce(~pounce@user/cute/pounce) pounce
2024-11-25 19:14:28 +0100dibblego(~dibblego@haskell/developer/dibblego) dibblego
2024-11-25 19:16:39 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-25 19:17:10 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-25 19:17:18 +0100troydm(~troydm@user/troydm) troydm
2024-11-25 19:17:30 +0100Teacup(~teacup@user/teacup) (Ping timeout: 272 seconds)
2024-11-25 19:19:22 +0100Teacup(~teacup@user/teacup) Teacup
2024-11-25 19:19:57 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-11-25 19:23:01 +0100alp_(~alp@2001:861:8ca0:4940:59db:a92c:453c:d8da)
2024-11-25 19:29:33 +0100 <bailsman> Can you make an IO action that gives an error if you call it a second time? (but not the first time)
2024-11-25 19:30:03 +0100mari-estel(~mari-este@user/mari-estel) (Remote host closed the connection)
2024-11-25 19:30:05 +0100 <mauke> sure, put an IORef in there
2024-11-25 19:30:24 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-25 19:31:31 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) ft
2024-11-25 19:32:18 +0100 <bailsman> That's runtime, right?
2024-11-25 19:33:55 +0100 <bailsman> By the way, hold on, if you do newIORef in a do block and call it twice, you get the same one every time? That's... very useful. Probably should have been obvious to me.
2024-11-25 19:35:01 +0100mari-estel(~mari-este@user/mari-estel) (Client Quit)
2024-11-25 19:42:03 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
2024-11-25 19:42:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-25 19:42:52 +0100 <tomsmeding> bailsman: no, there's a difference between constructing the same pure expression (e.g. `newIORef x`) multiple times, which indeed does the same thing every time, and _running_ an IO action multiple times, which certainly does run it multiple times
2024-11-25 19:43:03 +0100 <tomsmeding> running `newIORef x` multiple times in IO gives you multiple different IORefs
2024-11-25 19:43:23 +0100 <tomsmeding> % let action = putStrLn "hi" in action >> action
2024-11-25 19:43:23 +0100 <yahb2> hi ; hi
2024-11-25 19:43:33 +0100 <tomsmeding> there's only one IO action here, but it's run twice
2024-11-25 19:44:09 +0100 <tomsmeding> bailsman: a value that you can use only once is in general not a thing in haskell: it's a functional language and you can use values as many times as you like
2024-11-25 19:44:26 +0100 <tomsmeding> the one thing that allows you to express something like "can be used exactly once" is LinearTypes
2024-11-25 19:44:37 +0100 <tomsmeding> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/linear_types.html#extension-LinearT…
2024-11-25 19:45:38 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-11-25 19:52:19 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-25 19:53:43 +0100Alleria_(~Alleria@user/alleria) (Ping timeout: 245 seconds)
2024-11-25 19:55:10 +0100 <bailsman> Thanks.
2024-11-25 20:01:51 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
2024-11-25 20:03:17 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds)
2024-11-25 20:05:06 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-25 20:06:09 +0100k_hachig_(~k_hachig@70.29.50.156) k_hachig
2024-11-25 20:11:19 +0100k_hachig_(~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
2024-11-25 20:21:50 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-25 20:28:47 +0100kuribas(~user@ptr-17d51ep38mnuz9z1v6u.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2024-11-25 20:32:27 +0100youthlic(~Thunderbi@user/youthlic) (Ping timeout: 246 seconds)
2024-11-25 20:36:09 +0100 <mauke> % let mkAction = do { r <- newIORef False; pure (do x <- readIORef r; if x then fail "already ran once" else do writeIORef r True; pure 42) } in let a = mkAction in a
2024-11-25 20:36:09 +0100 <yahb2> <interactive>:111:26: error: [GHC-88464] ; Variable not in scope: newIORef :: Bool -> m3 t0 ; ; <interactive>:111:56: error: [GHC-88464] ; Variable not in scope: readIORef :: t0 -> m4 Bool...
2024-11-25 20:36:47 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 20:39:51 +0100ardell(~ardell@user/ardell) ardell
2024-11-25 20:40:47 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2024-11-25 20:43:24 +0100 <tomsmeding> % import Data.IORef
2024-11-25 20:43:24 +0100 <yahb2> <no output>
2024-11-25 20:45:15 +0100notzmv(~umar@user/notzmv) (Ping timeout: 252 seconds)
2024-11-25 20:47:20 +0100briandaed(~root@user/briandaed) (Remote host closed the connection)
2024-11-25 20:50:57 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-25 20:51:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 20:54:13 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: Lost terminal)
2024-11-25 20:56:05 +0100ft(~ft@p508db9c7.dip0.t-ipconnect.de) ft
2024-11-25 20:57:59 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-25 21:00:01 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-25 21:00:40 +0100caconym(~caconym@user/caconym) caconym
2024-11-25 21:02:45 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-25 21:06:13 +0100euphores(~SASL_euph@user/euphores) (Ping timeout: 245 seconds)
2024-11-25 21:09:20 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 21:10:31 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-11-25 21:13:49 +0100euphores(~SASL_euph@user/euphores) euphores
2024-11-25 21:14:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-11-25 21:19:58 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 21:24:17 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-25 21:24:33 +0100sprotte24(~sprotte24@p200300d16f21340071325e90113b492f.dip0.t-ipconnect.de)
2024-11-25 21:26:48 +0100k_hachig_(~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca) k_hachig
2024-11-25 21:28:22 +0100dut(~dut@user/dut) dut
2024-11-25 21:32:01 +0100k_hachig_(~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca) (Ping timeout: 265 seconds)
2024-11-25 21:33:25 +0100notzmv(~umar@user/notzmv) (Ping timeout: 248 seconds)
2024-11-25 21:35:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 21:36:09 +0100Alleria(~Alleria@user/alleria) (Ping timeout: 246 seconds)
2024-11-25 21:36:17 +0100ash3en1(~Thunderbi@146.70.124.222) ash3en
2024-11-25 21:36:57 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 252 seconds)
2024-11-25 21:36:58 +0100ash3en1ash3en
2024-11-25 21:39:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-25 21:43:02 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-11-25 21:43:32 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-11-25 21:44:21 +0100ash3en(~Thunderbi@146.70.124.222) (Quit: ash3en)
2024-11-25 21:44:28 +0100 <bailsman> Hmm... is using existential types or multistate a somewhat unusual thing to do? It seems that way.
2024-11-25 21:45:21 +0100dut(~dut@user/dut) (Quit: Leaving)
2024-11-25 21:45:34 +0100 <geekosaur> not that unusual. there are, however, some misuses of them that cause some programmers to avoid them entirely instead of using them with care
2024-11-25 21:46:12 +0100 <geekosaur> also, many uses of explicit existential types have been replaced with use of GADTs, which are in effect existential types with some usage guarantees
2024-11-25 21:46:37 +0100 <geekosaur> uh, not guarantees. "constraints"?
2024-11-25 21:47:01 +0100 <bailsman> Is there a "list of antipatterns" somewhere? I still struggle to get out of an imperative mindset sometimes
2024-11-25 21:48:49 +0100ubert(~Thunderbi@91.141.67.185.wireless.dyn.drei.com) ubert
2024-11-25 21:49:14 +0100 <geekosaur> the only ones I've seen are themselves antipatterns
2024-11-25 21:49:47 +0100 <geekosaur> Haskell doesn't so much have simple antipatterns as complex situations one should avoid, where the same "pattern" is entirely valid in other contexts
2024-11-25 21:50:14 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-25 21:50:15 +0100 <bailsman> The reason I ran into (possibly) wanting existential types is because I wanted to "dependency inject" an object into another module, then store it in a record for later use.
2024-11-25 21:50:24 +0100 <tomsmeding> well, I guess NPlusKPatterns is an antipattern. :P
2024-11-25 21:50:24 +0100Alleria(~Alleria@user/alleria) (Remote host closed the connection)
2024-11-25 21:50:39 +0100 <Rembane> bailsman: Have you considered using higher order functions instead?
2024-11-25 21:50:48 +0100 <bailsman> now when I want to put it in a record, I have to make a dependency from that module to the concrete implementation
2024-11-25 21:50:52 +0100 <tomsmeding> bailsman: why not give the functions and data types in that module a type parametter?
2024-11-25 21:51:08 +0100 <tomsmeding> no need to hide the parametrisation
2024-11-25 21:51:11 +0100 <tomsmeding> (typically)
2024-11-25 21:51:12 +0100Alleria(~Alleria@user/alleria) Alleria
2024-11-25 21:51:22 +0100 <[exa]> bailsman: ...or make a typeclass that describes that injected dependency (to save some work with passing around the function(s))
2024-11-25 21:51:35 +0100 <tomsmeding> (in which case you'll still need to make said functions/data types polymorphic)
2024-11-25 21:51:44 +0100 <bailsman> Well, that means everywhere I use my data type, I have to keep repeating that type variable
2024-11-25 21:51:59 +0100 <bailsman> I guess I don't need existential types, I just don't care what that type is omst of the time, so I don't want to keep writing it
2024-11-25 21:52:14 +0100 <tomsmeding> you don't need to write the full type, just the parameter :)
2024-11-25 21:52:17 +0100 <bailsman> I know
2024-11-25 21:52:18 +0100 <tomsmeding> but yes, that's what people tend to do
2024-11-25 21:52:40 +0100 <Rembane> You can also use the `type Rawr = RawrT Identity` trick
2024-11-25 21:52:43 +0100 <bailsman> OK yes and I can constrain that parameter with a typeclass, so I can still use it everywhere
2024-11-25 21:52:46 +0100 <Rembane> Or perhaps technique
2024-11-25 21:53:00 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 21:53:07 +0100 <Rembane> With loads of examples in the transformers library
2024-11-25 21:53:27 +0100 <bailsman> Rembane: wait what? Can you explain what that does?
2024-11-25 21:53:34 +0100 <tomsmeding> just a type synonym :)
2024-11-25 21:53:50 +0100 <Rembane> bailsman: What tomsmeding just said. :)
2024-11-25 21:53:52 +0100 <bailsman> but does that still make it parametric?
2024-11-25 21:53:58 +0100 <tomsmeding> if you find yourself typing 'RawrT Identity' everywhere, do that, then you'll just need to type Rawr
2024-11-25 21:54:15 +0100 <bailsman> No but wait. Aren't I typing `RawrT a` everywhere?
2024-11-25 21:54:18 +0100 <tomsmeding> you'd do this after you've chosen the instantiation
2024-11-25 21:54:26 +0100 <tomsmeding> you'd use `RawrT a` in the implementation
2024-11-25 21:54:39 +0100 <bailsman> Oh, the type alias is in the consumer, not the provider
2024-11-25 21:54:42 +0100 <tomsmeding> yes
2024-11-25 21:54:54 +0100 <bailsman> OK, nice. This is all making sense now. Let me try.
2024-11-25 21:55:25 +0100michalz_(~michalz@185.246.207.201) (Read error: Connection reset by peer)
2024-11-25 21:55:44 +0100michalz(~michalz@185.246.207.222)
2024-11-25 21:56:31 +0100 <bailsman> BTW, -O2 makes this zero-cost? Or would it somehow run faster if it knew the concrete types everywhere
2024-11-25 21:56:49 +0100 <Rembane> Zero-cost!
2024-11-25 21:56:56 +0100 <Rembane> If you build it on newtype
2024-11-25 21:57:22 +0100 <Rembane> If you build it on data it costs something, can't say how much though, 'cause I don't know. type should be zero-cost too.
2024-11-25 21:57:23 +0100 <tomsmeding> bailsman: if the compiler knows the concrete type, instead of using methods from a type class, then the compiler can inline the implementations of those methods
2024-11-25 21:57:25 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-25 21:57:44 +0100 <bailsman> It sort of knows them, but it's across module boundaries
2024-11-25 21:57:58 +0100 <tomsmeding> if it's abstract, then you rely on GHC being able to inline your abstract module's functions into the consumer, before being able to specialise your module's code to the instantiation
2024-11-25 21:58:20 +0100 <tomsmeding> if nothing gets inlined, you lose some specialisation = you get more indirection
2024-11-25 21:58:49 +0100 <tomsmeding> compared to this, newtype vs data is no more than a sidenote I think :p
2024-11-25 21:59:25 +0100ardell(~ardell@user/ardell) (Quit: Leaving)
2024-11-25 21:59:32 +0100 <bailsman> What would prevent such inlining?
2024-11-25 21:59:35 +0100 <tomsmeding> a typical situation where this pops up is Monad: if you have code that is polymorphic over the monad it runs in (e.g. foo :: Monad m => ... -> m Int), then all uses of (>>=) in foo, of which there are usually a lot, will be indirect function calls
2024-11-25 21:59:49 +0100 <tomsmeding> unless foo gets inlined into a place where `m` is known!
2024-11-25 22:00:18 +0100 <tomsmeding> beceause then that inlined code can get specialised, the specific implementation of (>>=) can get inlined into that, and hence you lose lots of indirect function calls, which makes your cpu happy
2024-11-25 22:00:36 +0100 <bailsman> That's what I'm worried about. Like, in theory, the compiler knows all the concrete types. But it might not propagate them where they're needed (i guess the only 'propagation' is inlining?)
2024-11-25 22:00:37 +0100 <tomsmeding> and ghc because there's typically lots of optimisations/cancellations that that makes available
2024-11-25 22:00:38 +0100notzmv(~umar@user/notzmv) notzmv
2024-11-25 22:00:50 +0100 <tomsmeding> inlining is the big enabler of almost all optimisations
2024-11-25 22:01:12 +0100 <tomsmeding> GHC is faily aggressive about inlining anyway, but if functions get too big, or if functions are recursive, GHC is more hesitant to inline them
2024-11-25 22:01:38 +0100 <bailsman> is there a less verbose way than -ddump_simpl to show what has happened
2024-11-25 22:01:41 +0100 <bailsman> like how much indirection ther eis
2024-11-25 22:01:44 +0100 <[exa]> bailsman: typically people just label the performance-sensitive stuff with inline pragmas. Which is clumsy but serves well both to users and to the poor confused compiler
2024-11-25 22:02:14 +0100 <tomsmeding> so yes, if you access call lots of functions from the typeclass for this object, and those calls are short and many, then the abstraction we're talking about will have a cost
2024-11-25 22:02:25 +0100 <tomsmeding> but using an existential has the exact same cost, because it's still an unknown type then
2024-11-25 22:03:05 +0100 <tomsmeding> only actually putting the instantiation into your module literally will guarantee absence of this indirection, but that's coupling that you seem to want to avoid
2024-11-25 22:03:20 +0100 <tomsmeding> to be noted is that this indirection is the same as what happens in ~every other language, including C++ etc.
2024-11-25 22:03:23 +0100 <[exa]> bailsman: also it's useful to enable -fspecialise-aggressively -fexpose-all-unfoldings every now and then to just see if you're not missing some performance because of the missed inlines (spoiler: executables produced by these options are y u g e)
2024-11-25 22:03:37 +0100 <bailsman> I don't know if I want to avoid that per se. I don't *need* to avoid it. I only have one implementation now. I'm just having some ... behavior tendencies? :P that I'm not sure if they're good defaults or not
2024-11-25 22:03:51 +0100 <tomsmeding> are you sure this is a performance bottleneck?
2024-11-25 22:04:20 +0100 <bailsman> Mmmm no, I'm mainly looking for "good defaults" and some intuition for what's going to happen to the performance.
2024-11-25 22:04:23 +0100 <tomsmeding> the "indirect function call" we're talking about is just like a virtual method call in C++ or Java
2024-11-25 22:04:27 +0100 <bailsman> but I have seen -O1 be 10x slower than -O2
2024-11-25 22:04:52 +0100 <tomsmeding> (and indeed, if you want to avoid virtual method calls completely in C++, you're going to have to couple stuff)
2024-11-25 22:04:53 +0100 <bailsman> so I'm vaguely worried about it not having enough type information to specialise things
2024-11-25 22:05:05 +0100 <tomsmeding> try [exa]'s tips
2024-11-25 22:06:45 +0100 <tomsmeding> the usual adage "make it work first, then profile, then optimise" still applies :p
2024-11-25 22:06:57 +0100youthlic(~Thunderbi@user/youthlic) (Ping timeout: 246 seconds)
2024-11-25 22:07:31 +0100 <tomsmeding> abstraction via type classes is common in haskell, and has an overhead if the compiler cannot inline or specialise everything, but that overhead only becomes significant if you, as I said, have many short calls to methods from the typeclass
2024-11-25 22:07:49 +0100 <tomsmeding> `Monad` is a typical example that may be significant, depending on your code
2024-11-25 22:08:23 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 22:09:13 +0100k_hachig_(~k_hachig@70.29.50.156) k_hachig
2024-11-25 22:10:59 +0100 <tomsmeding> (because (>>=) is generally very cheap, and it often occurs a lot, so the overhead of having a function call for (>>=) at all is relatively significant)
2024-11-25 22:12:25 +0100 <Rembane> IIRC the biggest downside of putting everything in type classes is that the error messages become really exotic after a while.
2024-11-25 22:13:14 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-11-25 22:13:29 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 22:15:51 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-11-25 22:16:16 +0100califax(~califax@user/califx) califx
2024-11-25 22:17:49 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-11-25 22:20:49 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2024-11-25 22:20:50 +0100ljdarj1ljdarj
2024-11-25 22:23:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 22:28:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-25 22:33:26 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-11-25 22:38:44 +0100simendsjo(~user@84.211.91.108) simendsjo
2024-11-25 22:39:08 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 22:43:47 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-11-25 22:53:36 +0100Everything(~Everythin@46.211.214.14) Everything
2024-11-25 22:53:56 +0100michalz(~michalz@185.246.207.222) (Remote host closed the connection)
2024-11-25 22:54:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 22:56:50 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2024-11-25 22:56:54 +0100 <hellwolf> e.g.?
2024-11-25 22:59:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-25 23:00:49 +0100simendsjo(~user@84.211.91.108) (Ping timeout: 248 seconds)
2024-11-25 23:01:21 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds)
2024-11-25 23:02:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-25 23:04:52 +0100 <Rembane> > foldr (+) 0 1 -- This is a fun one, and for some reason I think it's hard to reproduce it by creating ones own type classes.
2024-11-25 23:04:53 +0100 <lambdabot> error:
2024-11-25 23:04:53 +0100 <lambdabot> • Could not deduce (Foldable t0)
2024-11-25 23:04:53 +0100 <lambdabot> from the context: (Foldable t, Num b, Num (t b))
2024-11-25 23:05:22 +0100 <Rembane> Source: https://discourse.haskell.org/t/examples-of-haskell-type-errors/10468/4
2024-11-25 23:05:39 +0100 <tomsmeding> cute one
2024-11-25 23:10:58 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-25 23:10:59 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
2024-11-25 23:15:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 23:16:06 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-25 23:19:01 +0100Square2(~Square4@user/square) Square
2024-11-25 23:19:27 +0100 <Rembane> And such a red herring! :D
2024-11-25 23:20:05 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-11-25 23:20:49 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-25 23:22:04 +0100 <tomsmeding> oh but red herrings of this kind are easy to find
2024-11-25 23:22:07 +0100 <tomsmeding> > maximum 2 3
2024-11-25 23:22:08 +0100 <lambdabot> error:
2024-11-25 23:22:08 +0100 <lambdabot> • Could not deduce (Foldable t0)
2024-11-25 23:22:08 +0100 <lambdabot> from the context: (Foldable t, Ord (t2 -> t3), Num t2,
2024-11-25 23:22:36 +0100 <tomsmeding> oh perhaps this one is even worse >:)
2024-11-25 23:24:04 +0100 <Rembane> I love how confusing it is. :D
2024-11-25 23:26:32 +0100Square(~Square@user/square) (Ping timeout: 255 seconds)
2024-11-25 23:28:01 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2024-11-25 23:31:07 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 23:36:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-11-25 23:37:24 +0100k_hachig_(~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
2024-11-25 23:46:30 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-11-25 23:49:49 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-11-25 23:51:21 +0100k_hachig_(~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca) k_hachig
2024-11-25 23:53:03 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-11-25 23:55:09 +0100youthlic(~Thunderbi@user/youthlic) (Quit: youthlic)
2024-11-25 23:57:00 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-25 23:57:12 +0100k_hachig_(~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca) (Ping timeout: 252 seconds)