Home liberachat/#haskell: Logs Calendar

Logs on 2024-11-25 (liberachat/#haskell)

00:02:29 sebastian joins (~sebastian@130.85.195.36)
00:02:42 sebastian is now known as Guest2094
00:04:00 <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.
00:05:00 Guest2094 is now known as sebastian_
00:05:14 flounders joins (~flounders@173.246.200.74)
00:06:13 × ramennudel82 quits (~ramennude@41.66.99.87) (Ping timeout: 244 seconds)
00:17:53 × xff0x quits (~xff0x@2405:6580:b080:900:a62e:eefb:24ad:af2b) (Ping timeout: 245 seconds)
00:23:06 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
00:23:44 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
00:24:26 Lord_of_Life_ is now known as Lord_of_Life
00:29:47 × sebastian_ quits (~sebastian@130.85.195.36) (Quit: sebastian_)
00:34:40 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:45:34 falafel joins (~falafel@2600:1700:99f4:2050:b9c8:4d1e:6719:2f4c)
00:47:47 notzmv joins (~umar@user/notzmv)
00:48:36 sebastian_ joins (~sebastian@130.85.195.36)
00:50:21 × Alleria quits (~Alleria@user/alleria) (Remote host closed the connection)
00:51:18 Alleria joins (~Alleria@user/alleria)
00:51:34 × sprotte24 quits (~sprotte24@p200300d16f17da00542e16fac3908f71.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
00:52:15 × sebastian_ quits (~sebastian@130.85.195.36) (Remote host closed the connection)
00:52:30 × Everything quits (~Everythin@46-133-77-57.mobile.vf-ua.net) (Quit: leaving)
00:52:34 sebastian_ joins (~sebastian@130.85.195.36)
00:54:13 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 248 seconds)
01:00:57 × sebastian_ quits (~sebastian@130.85.195.36) (Quit: sebastian_)
01:12:46 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:13:57 ljdarj1 joins (~Thunderbi@user/ljdarj)
01:17:00 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
01:17:00 ljdarj1 is now known as ljdarj
01:20:39 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:20:40 × agent314 quits (~quassel@208.131.130.89) (Read error: Connection reset by peer)
01:29:00 werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com)
01:29:11 werneta_ joins (~werneta@syn-071-083-160-242.res.spectrum.com)
01:30:30 × zzz quits (~z@user/zero) (Ping timeout: 276 seconds)
01:32:30 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:33:37 califax joins (~califax@user/califx)
01:33:57 zero joins (~z@user/zero)
01:34:33 × falafel quits (~falafel@2600:1700:99f4:2050:b9c8:4d1e:6719:2f4c) (Remote host closed the connection)
01:37:19 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
01:46:04 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
01:46:22 ljdarj joins (~Thunderbi@user/ljdarj)
01:52:32 × Alleria quits (~Alleria@user/alleria) (Remote host closed the connection)
01:53:32 Alleria joins (~Alleria@user/alleria)
01:56:52 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
01:58:48 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
02:02:03 j1n37 joins (j1n37@user/j1n37)
02:03:19 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
02:08:12 × zero quits (~z@user/zero) (Ping timeout: 276 seconds)
02:08:14 × sympt quits (~sympt@user/sympt) (Ping timeout: 252 seconds)
02:08:23 zzz joins (~z@user/zero)
02:08:48 zzz is now known as zero
02:09:45 sympt joins (sympt@user/sympt)
02:22:05 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Remote host closed the connection)
02:23:13 ZLima12 joins (~zlima12@user/meow/ZLima12)
02:27:01 j1n37 joins (j1n37@user/j1n37)
02:29:23 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
02:30:46 troydm joins (~troydm@user/troydm)
02:34:04 j1n37 joins (j1n37@user/j1n37)
02:40:06 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
02:40:38 gorignak joins (~gorignak@user/gorignak)
02:48:11 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
02:48:44 rvalue joins (~rvalue@user/rvalue)
02:50:17 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
02:50:47 gorignak joins (~gorignak@user/gorignak)
02:51:19 k_hachig_ joins (~k_hachig@70.29.50.156)
02:57:16 × cptaffe quits (~cptaffe@user/cptaffe) (Quit: ZNC 1.8.2 - https://znc.in)
03:00:28 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
03:00:54 cptaffe joins (~cptaffe@user/cptaffe)
03:00:58 gorignak joins (~gorignak@user/gorignak)
03:08:59 × Square quits (~Square@user/square) (Ping timeout: 265 seconds)
03:10:39 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
03:11:09 gorignak joins (~gorignak@user/gorignak)
03:16:54 agent314 joins (~quassel@208.131.130.89)
03:20:04 × k_hachig_ quits (~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
03:20:50 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
03:21:21 gorignak joins (~gorignak@user/gorignak)
03:23:23 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
03:31:01 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
03:31:31 gorignak joins (~gorignak@user/gorignak)
03:32:52 k_hachig_ joins (~k_hachig@70.29.50.156)
03:34:07 × hacklschorsch quits (~flo@2a01:4f9:3a:2296::2) (Ping timeout: 265 seconds)
03:34:09 × nshepperd2 quits (~nshepperd@static.117.72.21.65.clients.your-server.de) (Ping timeout: 245 seconds)
03:37:20 × k_hachig_ quits (~k_hachig@70.29.50.156) (Ping timeout: 252 seconds)
03:40:53 × turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.)
03:41:12 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
03:41:43 gorignak joins (~gorignak@user/gorignak)
03:42:10 turlando joins (~turlando@user/turlando)
03:48:29 hacklschorsch joins (~flo@2a01:4f9:3a:2296::2)
03:49:43 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
03:51:23 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
03:51:23 nshepperd2 joins (~nshepperd@2a01:4f9:3b:4cc9::2)
03:51:54 gorignak joins (~gorignak@user/gorignak)
04:01:33 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
04:02:05 gorignak joins (~gorignak@user/gorignak)
04:05:09 alp_ joins (~alp@2001:861:8ca0:4940:1c78:ec05:599:ba4d)
04:06:00 aforemny_ joins (~aforemny@i59F4C7EE.versanet.de)
04:06:05 × troydm quits (~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)
04:06:57 × aforemny quits (~aforemny@2001:9e8:6cf2:b00:34d1:3086:bf30:f05b) (Ping timeout: 252 seconds)
04:10:04 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
04:11:45 × gorignak quits (~gorignak@user/gorignak) (Quit: quit)
04:12:15 gorignak joins (~gorignak@user/gorignak)
04:13:14 gmg joins (~user@user/gehmehgeh)
04:21:36 <haskellbridge> <Bowuigi> I don't have the paper but I can get the literate source file from the Miranda examples
04:23:53 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
04:24:07 <haskellbridge> <Bowuigi> https://paste.tomsmeding.com/V0T1qcn1
04:24:44 <haskellbridge> <Bowuigi> Lmao I messed up
04:25:48 <haskellbridge> <Bowuigi> https://paste.tomsmeding.com/kQbZKa5y
04:26:14 <haskellbridge> <Bowuigi> There it is. Miranda highlighting is nonexistent but it looks similar enough to Haskell to be readable
04:28:39 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:36:05 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
04:53:44 michalz joins (~michalz@185.246.207.203)
04:59:18 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
05:03:43 × mrmr155334346318 quits (~mrmr@user/mrmr) (Read error: Connection reset by peer)
05:03:57 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
05:23:08 Digitteknohippie joins (~user@user/digit)
05:23:34 × Digit quits (~user@user/digit) (Ping timeout: 260 seconds)
05:28:18 × Digitteknohippie quits (~user@user/digit) (Ping timeout: 245 seconds)
05:32:02 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 248 seconds)
05:38:57 × alp_ quits (~alp@2001:861:8ca0:4940:1c78:ec05:599:ba4d) (Ping timeout: 248 seconds)
05:48:29 Digit joins (~user@user/digit)
05:51:17 × werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Quit: Lost terminal)
05:58:18 × m1dnight quits (~m1dnight@d8D861908.access.telenet.be) (Quit: WeeChat 3.0)
06:00:52 × ZLima12 quits (~zlima12@user/meow/ZLima12) ()
06:01:18 ZLima12 joins (~zlima12@user/meow/ZLima12)
06:02:03 × zenmov quits (~zenmov@103.212.156.64) (Quit: Reconnecting)
06:02:21 zenmov joins (~zenmov@103.212.156.64)
06:03:33 × zenmov quits (~zenmov@103.212.156.64) (Changing host)
06:03:33 zenmov joins (~zenmov@user/zenmov)
06:05:53 × zenmov quits (~zenmov@user/zenmov) (Client Quit)
06:06:07 zenmov joins (~zenmov@103.212.156.64)
06:07:08 × zenmov quits (~zenmov@103.212.156.64) (Client Quit)
06:07:59 zenmov joins (~zenmov@user/zenmov)
06:08:29 × zenmov quits (~zenmov@user/zenmov) (Client Quit)
06:08:48 zenmov joins (~zenmov@user/zenmov)
06:10:30 alp_ joins (~alp@2001:861:8ca0:4940:7405:6191:e327:e5b3)
06:14:37 × alp_ quits (~alp@2001:861:8ca0:4940:7405:6191:e327:e5b3) (Ping timeout: 252 seconds)
06:14:51 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
06:18:17 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:19:43 akegalj joins (~akegalj@78-0-40-193.adsl.net.t-com.hr)
06:22:52 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
06:23:15 × krei-se quits (~krei-se@p57af2af4.dip0.t-ipconnect.de) (Quit: ZNC 1.9.1 - https://znc.in)
06:23:41 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
06:34:00 divya` joins (~user@139.5.11.5)
06:35:46 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
06:35:54 × divya quits (~user@139.5.11.231) (Ping timeout: 260 seconds)
06:37:57 euleritian joins (~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de)
06:41:24 krei-se joins (~krei-se@p57af2af4.dip0.t-ipconnect.de)
06:47:29 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:48:17 × kuribas quits (~user@ptr-17d51emjupdmw5dv1xj.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
06:49:58 m1dnight joins (~m1dnight@141.134.25.8)
06:50:44 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
06:51:02 housemate joins (~housemate@2401:d002:b902:e01:2fcc:d902:afdc:6dcc)
06:55:55 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 264 seconds)
06:57:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:57:15 acidjnk_new3 joins (~acidjnk@p200300d6e7283f0888af8ecdd6430c47.dip0.t-ipconnect.de)
07:03:56 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:06:41 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
07:14:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:17:04 monochrm joins (~trebla@216.138.220.146)
07:19:50 × monochrom quits (trebla@216.138.220.146) (Ping timeout: 265 seconds)
07:19:51 monochrm is now known as monochrom
07:20:13 × werneta_ quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 244 seconds)
07:24:08 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:26:22 kuribas joins (~user@ptr-17d51ep38mnuz9z1v6u.18120a2.ip6.access.telenet.be)
07:29:28 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
07:31:38 × housemate quits (~housemate@2401:d002:b902:e01:2fcc:d902:afdc:6dcc) (Quit: Nothing to see here. I wasn't there.)
07:34:40 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 272 seconds)
07:35:17 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:35:59 billchenchina joins (~billchenc@2a0d:2580:ff0c:201:a5f2:fab8:efd2:829e)
07:39:06 housemate joins (~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au)
07:43:17 ubert joins (~Thunderbi@91.141.67.185.wireless.dyn.drei.com)
07:45:10 Digitteknohippie joins (~user@user/digit)
07:45:25 × Digit quits (~user@user/digit) (Ping timeout: 248 seconds)
07:46:06 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
07:50:34 × ft quits (~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
07:56:14 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
08:00:02 Digitteknohippie is now known as Digit
08:00:04 × caconym quits (~caconym@user/caconym) (Quit: bye)
08:00:40 caconym joins (~caconym@user/caconym)
08:02:17 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:05:06 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
08:10:25 CiaoSen joins (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da)
08:10:59 × euleritian quits (~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de) (Ping timeout: 260 seconds)
08:11:04 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 265 seconds)
08:12:17 euleritian joins (~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de)
08:13:28 alp_ joins (~alp@2001:861:8ca0:4940:7547:ca49:678a:f89b)
08:14:34 × CiaoSen quits (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Client Quit)
08:16:06 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 276 seconds)
08:17:22 vanishingideal joins (~vanishing@user/vanishingideal)
08:17:24 × euleritian quits (~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de) (Ping timeout: 276 seconds)
08:18:43 euleritian joins (~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de)
08:19:35 youthlic joins (~Thunderbi@user/youthlic)
08:20:36 CiaoSen joins (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da)
08:22:44 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
08:22:53 emmanuelux joins (~emmanuelu@user/emmanuelux)
08:23:45 vanishingideal joins (~vanishing@user/vanishingideal)
08:24:37 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
08:26:22 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Client Quit)
08:27:43 × akegalj quits (~akegalj@78-0-40-193.adsl.net.t-com.hr) (Ping timeout: 252 seconds)
08:35:48 akegalj joins (~akegalj@14-174.dsl.iskon.hr)
08:45:30 chele joins (~chele@user/chele)
08:45:54 briandaed joins (~root@user/briandaed)
08:47:55 × euleritian quits (~euleritia@dynamic-176-004-228-024.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
08:48:13 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
08:58:24 × CiaoSen quits (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
09:03:50 × housemate quits (~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au) (Quit: Nothing to see here. I wasn't there.)
09:06:57 × akegalj quits (~akegalj@14-174.dsl.iskon.hr) (Ping timeout: 248 seconds)
09:07:27 __monty__ joins (~toonn@user/toonn)
09:17:31 akegalj joins (~akegalj@78-0-40-193.adsl.net.t-com.hr)
09:24:03 merijn joins (~merijn@77.242.116.146)
09:26:59 × youthlic quits (~Thunderbi@user/youthlic) (Ping timeout: 260 seconds)
09:31:05 youthlic joins (~Thunderbi@user/youthlic)
09:31:38 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
09:33:17 swamp_ joins (~zmt00@user/zmt00)
09:33:39 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
09:34:12 ljdarj joins (~Thunderbi@user/ljdarj)
09:34:39 merijn joins (~merijn@77.242.116.146)
09:36:19 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 260 seconds)
09:36:43 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 264 seconds)
09:39:35 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:40:15 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
09:43:51 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 276 seconds)
09:46:20 housemate joins (~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au)
09:49:07 CiaoSen joins (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da)
09:55:48 merijn joins (~merijn@77.242.116.146)
10:05:23 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds)
10:11:23 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
10:17:44 × akegalj quits (~akegalj@78-0-40-193.adsl.net.t-com.hr) (Quit: leaving)
10:17:46 <enikar> I found this article about how to compute the digits of e: http://numbers.computation.free.fr/Constants/E/e.html
10:20:26 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds)
10:22:04 sord937 joins (~sord937@gateway/tor-sasl/sord937)
10:22:11 michalz_ joins (~michalz@185.246.207.201)
10:22:24 sprotte24 joins (~sprotte24@p200300d16f213400dd385f477fcc6828.dip0.t-ipconnect.de)
10:22:52 × michalz quits (~michalz@185.246.207.203) (Ping timeout: 252 seconds)
10:24:13 × sprotte24 quits (~sprotte24@p200300d16f213400dd385f477fcc6828.dip0.t-ipconnect.de) (Client Quit)
10:26:06 <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"
10:26:09 <kqr> the post-AMP method redundancy in the Foldable/Traversable classes.
10:26:26 <kqr> Which methods are these? I can guess sequence/sequenceA, but are there more like that?
10:32:45 mari-estel joins (~mari-este@user/mari-estel)
10:33:48 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
10:34:05 <enikar> there is also mapM, mapM_, and probably others, I think to filterM and foldM but I'm not sure.
10:35:01 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
10:35:32 rvalue joins (~rvalue@user/rvalue)
10:35:59 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 255 seconds)
10:39:13 <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.
10:40:10 <kqr> Actually that's easy to look up. Traversable implies Foldable
10:41:07 <kqr> Oh yeah, mapM = traverse. Never realised that. I'm learning so much today.
10:41:18 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 252 seconds)
10:45:33 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
10:48:39 <jackdk> kqr: you can also build `foldMap` out of `traverse` using the `Const r` applicative, showing that every Traversable is Foldable.
10:49:12 merijn joins (~merijn@77.242.116.146)
10:50:34 <enikar> kqr: you should read typeclassopedia, it is on https://wiki.haskell.org/Haskell. Unfortunately, it's broken for now.
10:51:14 lxsameer joins (~lxsameer@Serene/lxsameer)
10:53:29 <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
11:00:39 <enikar> there is this information: https://status.haskell.org/
11:09:38 xff0x joins (~xff0x@2405:6580:b080:900:1f91:7e93:b51d:2d0f)
11:09:38 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
11:10:06 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
11:10:58 × remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
11:11:38 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
11:14:17 remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz)
11:16:17 × p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
11:23:16 p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
11:23:52 merijn joins (~merijn@77.242.116.146)
11:26:32 sawilagar joins (~sawilagar@user/sawilagar)
11:27:25 ljdarj1 joins (~Thunderbi@user/ljdarj)
11:28:44 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
11:29:48 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
11:29:48 ljdarj1 is now known as ljdarj
11:33:31 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
11:35:56 <kqr> Thanks! The Haddocks on Traversable and Foldable are also much richer than I remember them to be!
11:38:49 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
11:39:08 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 272 seconds)
11:40:04 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
11:40:15 merijn joins (~merijn@77.242.116.146)
11:42:15 × agent314 quits (~quassel@208.131.130.89) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
11:44:36 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
11:46:11 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 255 seconds)
11:47:29 × youthlic quits (~Thunderbi@user/youthlic) (Ping timeout: 248 seconds)
11:49:10 j1n37 joins (j1n37@user/j1n37)
11:51:22 youthlic joins (~Thunderbi@user/youthlic)
11:53:27 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:54:44 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds)
11:58:24 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 276 seconds)
11:58:44 merijn joins (~merijn@77.242.116.146)
12:03:18 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
12:06:14 mari-estel joins (~mari-este@user/mari-estel)
12:08:35 merijn joins (~merijn@77.242.116.146)
12:09:50 × CiaoSen quits (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds)
12:31:19 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 264 seconds)
12:31:39 pavonia joins (~user@user/siracusa)
12:35:52 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743)
12:41:21 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:8d8e:ee84:aefd:f743) (Ping timeout: 248 seconds)
12:41:50 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
12:45:07 j1n37 joins (j1n37@user/j1n37)
12:49:19 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
12:49:27 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
12:53:38 × notzmv quits (~umar@user/notzmv) (Ping timeout: 248 seconds)
12:56:05 CiaoSen joins (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da)
13:06:34 <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.
13:06:40 <hellwolf> Does anyone remember this one?
13:06:41 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
13:07:18 merijn joins (~merijn@77.242.116.146)
13:08:38 × Spawns_Carpeting quits (~mobile@user/spawns-carpeting/x-6969421) (Remote host closed the connection)
13:10:59 Spawns_Carpeting joins (~mobile@user/spawns-carpeting/x-6969421)
13:17:14 × merijn quits (~merijn@77.242.116.146) (Quit: Lost terminal)
13:17:43 merijn joins (~merijn@77.242.116.146)
13:20:08 lxsameer joins (~lxsameer@Serene/lxsameer)
13:20:51 <Leary> hellwolf: I don't know about a proposal, but there's <https://hackage.haskell.org/package/monadic-bang>.
13:23:34 <hellwolf> monadic-bang, that's the word
13:24:26 <hellwolf> very tempted to use it... while I am using a lot of GHC extensions, but I do pause a little when using plugins...
13:24:54 <hellwolf> having concerns around maintainability since plugins can be orphaned
13:25:25 <hellwolf> maybe this is a unwarranted concern.
13:25:35 × smiesner quits (b0cf5acf8c@2a03:6000:1812:100::13b9) (Remote host closed the connection)
13:25:35 × raghavgururajan quits (ea769b8000@user/raghavgururajan) (Remote host closed the connection)
13:25:35 × rselim quits (ce261f06ff@user/milesrout) (Remote host closed the connection)
13:25:36 × tok quits (da65c7b04b@user/tok) (Remote host closed the connection)
13:25:36 × fn_lumi quits (3d621153a5@2a03:6000:1812:100::df7) (Remote host closed the connection)
13:25:36 × arcadewise quits (52968ed80d@2a03:6000:1812:100::3df) (Remote host closed the connection)
13:25:36 × cpli quits (77fc530071@2a03:6000:1812:100::252) (Remote host closed the connection)
13:25:36 × ymherklotz quits (cb2c9cfbdd@2a03:6000:1812:100::29a) (Remote host closed the connection)
13:25:36 × fvr quits (ef3e56ca8b@2a03:6000:1812:100::3c4) (Remote host closed the connection)
13:25:36 × jakzale quits (6291399afa@user/jakzale) (Remote host closed the connection)
13:25:36 × ggb quits (a62ffbaf4f@2a03:6000:1812:100::3ac) (Remote host closed the connection)
13:25:36 × whereiseveryone quits (206ba86c98@2a03:6000:1812:100::2e4) (Remote host closed the connection)
13:25:36 × chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (Remote host closed the connection)
13:25:36 × jkoshy quits (99b9359beb@user/jkoshy) (Remote host closed the connection)
13:25:36 × lane quits (809450f172@2a03:6000:1812:100::1300) (Remote host closed the connection)
13:25:36 × sus quits (1b7af6299f@user/zeromomentum) (Remote host closed the connection)
13:25:36 × bwolf quits (c3bc363dd1@2a03:6000:1812:100::180) (Remote host closed the connection)
13:25:36 × shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Remote host closed the connection)
13:25:36 × eso quits (a0662dfd5e@2a03:6000:1812:100::1266) (Remote host closed the connection)
13:25:36 × 082AAS5CR quits (7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection)
13:25:36 × henrytill quits (e0180937c3@2a03:6000:1812:100::e8c) (Remote host closed the connection)
13:25:36 × duncan quits (c6181279e3@user/meow/duncan) (Remote host closed the connection)
13:25:37 × jleightcap quits (7bc4014b62@user/jleightcap) (Remote host closed the connection)
13:25:37 × lucyy quits (228ee8f0ce@user/lucyy) (Remote host closed the connection)
13:25:37 × filwisher quits (2e6936c793@2a03:6000:1812:100::170) (Remote host closed the connection)
13:25:37 × sm2n quits (ae95cb1267@user/sm2n) (Remote host closed the connection)
13:25:37 × samhh quits (7569f027cf@2a03:6000:1812:100::e4) (Remote host closed the connection)
13:25:37 × evanrelf quits (3addc196af@2a03:6000:1812:100::f0) (Remote host closed the connection)
13:25:37 × fgaz quits (1ff9197ed6@2a03:6000:1812:100::11ea) (Remote host closed the connection)
13:25:37 × jmcantrell quits (644f1bed9a@user/jmcantrell) (Remote host closed the connection)
13:25:37 × JoelMcCracken quits (5ea8252fbb@2a03:6000:1812:100::10e3) (Remote host closed the connection)
13:25:37 × akspecs quits (00cc8321af@sourcehut/user/akspecs) (Remote host closed the connection)
13:25:37 × titibandit quits (e33ffbab65@user/titibandit) (Remote host closed the connection)
13:25:37 × bsima1 quits (9d7e39c8ad@2a03:6000:1812:100::dd) (Remote host closed the connection)
13:25:37 × lukec quits (9dfd4d094e@2a03:6000:1812:100::10e) (Remote host closed the connection)
13:25:37 × aniketd quits (32aa4844cd@2a03:6000:1812:100::dcb) (Remote host closed the connection)
13:25:37 × pmk_ quits (6afe4476a1@2a03:6000:1812:100::26d) (Remote host closed the connection)
13:25:37 × RussetParrotBear quits (45ce440a48@2a03:6000:1812:100::e2) (Remote host closed the connection)
13:25:37 × ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (Remote host closed the connection)
13:25:38 × b0o quits (0e4a0bf4c9@2a03:6000:1812:100::1bf) (Remote host closed the connection)
13:25:38 × Ankhers quits (e99e97ef8e@2a03:6000:1812:100::2a2) (Remote host closed the connection)
13:25:38 × probie quits (cc0b34050a@user/probie) (Remote host closed the connection)
13:25:41 × Feuermagier quits (~Feuermagi@user/feuermagier) (Quit: Leaving)
13:25:57 smiesner joins (b0cf5acf8c@user/smiesner)
13:25:58 evanrelf joins (3addc196af@2a03:6000:1812:100::f0)
13:25:59 ggb joins (a62ffbaf4f@2a03:6000:1812:100::3ac)
13:25:59 fgaz joins (1ff9197ed6@2a03:6000:1812:100::11ea)
13:25:59 RussetParrotBear joins (45ce440a48@2a03:6000:1812:100::e2)
13:25:59 filwisher joins (2e6936c793@2a03:6000:1812:100::170)
13:25:59 bsima1 joins (9d7e39c8ad@2a03:6000:1812:100::dd)
13:25:59 pmk joins (6afe4476a1@2a03:6000:1812:100::26d)
13:25:59 lane joins (809450f172@2a03:6000:1812:100::1300)
13:26:00 lukec joins (9dfd4d094e@2a03:6000:1812:100::10e)
13:26:00 arcadewise joins (52968ed80d@2a03:6000:1812:100::3df)
13:26:00 probie joins (cc0b34050a@user/probie)
13:26:00 shreyasminocha joins (51fdc93eda@user/shreyasminocha)
13:26:01 whereiseveryone joins (206ba86c98@2a03:6000:1812:100::2e4)
13:26:01 jakzale joins (6291399afa@user/jakzale)
13:26:02 aniketd joins (32aa4844cd@2a03:6000:1812:100::dcb)
13:26:02 cpli joins (77fc530071@2a03:6000:1812:100::252)
13:26:03 samhh joins (7569f027cf@2a03:6000:1812:100::e4)
13:26:03 raghavgururajan joins (ea769b8000@user/raghavgururajan)
13:26:03 sus joins (1b7af6299f@user/zeromomentum)
13:26:03 rselim joins (ce261f06ff@user/milesrout)
13:26:03 Ankhers joins (e99e97ef8e@2a03:6000:1812:100::2a2)
13:26:03 fn_lumi joins (3d621153a5@2a03:6000:1812:100::df7)
13:26:03 b0o joins (0e4a0bf4c9@2a03:6000:1812:100::1bf)
13:26:04 duncan joins (c6181279e3@user/meow/duncan)
13:26:04 sm2n joins (ae95cb1267@user/sm2n)
13:26:04 fvr joins (ef3e56ca8b@2a03:6000:1812:100::3c4)
13:26:04 ursa-major joins (114efe6c39@2a03:6000:1812:100::11f3)
13:26:04 titibandit joins (e33ffbab65@user/titibandit)
13:26:05 ymherklotz joins (cb2c9cfbdd@2a03:6000:1812:100::29a)
13:26:05 bwolf joins (c3bc363dd1@2a03:6000:1812:100::180)
13:26:05 tok joins (da65c7b04b@user/tok)
13:26:05 jkoshy joins (99b9359beb@user/jkoshy)
13:26:05 jleightcap joins (7bc4014b62@user/jleightcap)
13:26:05 JoelMcCracken joins (5ea8252fbb@2a03:6000:1812:100::10e3)
13:26:05 akspecs joins (00cc8321af@sourcehut/user/akspecs)
13:26:05 lucyy joins (228ee8f0ce@user/lucyy)
13:26:06 jmcantrell joins (644f1bed9a@user/jmcantrell)
13:26:06 henrytill joins (e0180937c3@2a03:6000:1812:100::e8c)
13:26:06 eso joins (a0662dfd5e@2a03:6000:1812:100::1266)
13:26:07 chaitlatte0 joins (ea29c0bb16@user/chaitlatte0)
13:27:51 samhh_ joins (7569f027cf@2a03:6000:1812:100::e4)
13:29:52 × xdminsy quits (~xdminsy@117.147.71.197) (Ping timeout: 252 seconds)
13:31:27 × billchenchina quits (~billchenc@2a0d:2580:ff0c:201:a5f2:fab8:efd2:829e) (Quit: Leaving)
13:36:53 subjective51 joins (~SN51@181.126.202.207)
13:42:59 × subjective51 quits (~SN51@181.126.202.207) (Changing host)
13:42:59 subjective51 joins (~SN51@user/subjective51)
13:47:18 euleritian joins (~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de)
13:47:33 × ftzm quits (~ftzm@085080233074.dynamic.telenor.dk) (Ping timeout: 248 seconds)
13:53:27 × youthlic quits (~Thunderbi@user/youthlic) (Ping timeout: 276 seconds)
13:56:33 × CiaoSen quits (~Jura@2a05:5800:213:2300:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds)
14:04:21 k_hachig_ joins (~k_hachig@138-51-75-188-lsn-2.nat.utoronto.ca)
14:09:08 × k_hachig_ quits (~k_hachig@138-51-75-188-lsn-2.nat.utoronto.ca) (Ping timeout: 245 seconds)
14:12:48 comerijn joins (~merijn@77.242.116.146)
14:15:00 Square2 joins (~Square4@user/square)
14:15:37 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds)
14:19:01 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds)
14:22:44 × alp_ quits (~alp@2001:861:8ca0:4940:7547:ca49:678a:f89b) (Ping timeout: 260 seconds)
14:32:44 notzmv joins (~umar@user/notzmv)
14:32:49 k_hachig_ joins (~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com)
14:43:03 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds)
14:51:11 merijn joins (~merijn@77.242.116.146)
14:51:18 tired- joins (~tired@user/tired)
14:52:36 × tired quits (~tired@user/tired) (Ping timeout: 276 seconds)
15:02:03 × ubert quits (~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
15:06:51 × subjective51 quits (~SN51@user/subjective51) (Remote host closed the connection)
15:08:47 subjective51 joins (~SN51@user/subjective51)
15:20:36 youthlic joins (~Thunderbi@user/youthlic)
15:24:49 × euleritian quits (~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
15:25:08 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
15:30:43 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 264 seconds)
15:30:46 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
15:33:21 slack1256 joins (~slack1256@179.60.70.224)
15:33:55 <slack1256> I got the following error: error in RTS option -nonmoving-gc: size outside allowed range. Does it ring a bell for anybody?
15:37:15 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
15:37:33 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
15:38:38 × sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection)
15:38:38 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
15:39:02 sawilagar joins (~sawilagar@user/sawilagar)
15:39:02 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
15:40:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:40:38 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
15:40:59 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
15:42:12 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
15:42:20 euleritian joins (~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de)
15:42:42 × euleritian quits (~euleritia@dynamic-176-001-199-180.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
15:42:59 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
15:44:40 mari-estel joins (~mari-este@user/mari-estel)
15:45:55 weary-traveler joins (~user@user/user363627)
15:46:54 <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
15:49:32 <Rembane> carbolymer: It looks like a composition
15:50:54 <carbolymer> Rembane: but you're not composing anything, but swapping f for g. it could be GADT, or whatever
15:51:13 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 245 seconds)
15:51:27 <Rembane> carbolymer: Oh, I misread. Could it be a natural transformation?
15:51:48 <Rembane> carbolymer: ...but it's not a functor, so...
15:52:23 × Alleria quits (~Alleria@user/alleria) (Remote host closed the connection)
15:54:10 <carbolymer> Rembane: that could be, I'm wondering if there's any other intuitive name for that
15:54:22 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
15:55:14 <Rembane> carbolymer: I hope so, Replacement could be another name.
16:00:46 k_hachig__ joins (~k_hachig@2605:b100:10c:bff7:c427:a311:1399:2ff6)
16:01:28 <carbolymer> Replacement is nice, maybe shorter Replace would work, thanks
16:01:42 <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.
16:02:05 <Rembane> carbolymer: No worries!
16:02:46 <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
16:03:17 × k_hachig_ quits (~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds)
16:03:48 k_hachig_ joins (~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com)
16:03:59 <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.
16:04:33 <carbolymer> s/minor culprit/that minor issue/
16:05:13 × k_hachig__ quits (~k_hachig@2605:b100:10c:bff7:c427:a311:1399:2ff6) (Ping timeout: 265 seconds)
16:06:07 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:06:47 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
16:08:47 youthlic joins (~Thunderbi@user/youthlic)
16:09:25 Alleria joins (~Alleria@user/alleria)
16:19:11 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
16:19:34 califax joins (~califax@user/califx)
16:19:37 mantraofpie_ joins (~mantraofp@user/mantraofpie)
16:20:14 × slack1256 quits (~slack1256@179.60.70.224) (Remote host closed the connection)
16:20:25 × mantraofpie quits (~mantraofp@user/mantraofpie) (Remote host closed the connection)
16:20:32 × chexum_ quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
16:20:42 mantraofpie_ is now known as mantraofpie
16:21:13 chexum joins (~quassel@gateway/tor-sasl/chexum)
16:26:17 alp_ joins (~alp@2001:861:8ca0:4940:c709:ad18:8b15:a8dc)
16:27:32 <merijn> SlackCoder: Well, have you checked the GHC user's guide to see what values are valid? :p
16:27:45 <merijn> ah, tab completion fail
16:33:15 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds)
16:38:08 gmg joins (~user@user/gehmehgeh)
16:39:14 merijn joins (~merijn@77.242.116.146)
16:42:28 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
16:45:16 euleritian joins (~euleritia@dynamic-176-006-134-149.176.6.pool.telefonica.de)
16:47:50 robobub joins (uid248673@id-248673.uxbridge.irccloud.com)
16:49:59 × euleritian quits (~euleritia@dynamic-176-006-134-149.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
16:50:08 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
16:51:48 × divya` quits (~user@139.5.11.5) (Ping timeout: 246 seconds)
17:03:10 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
17:08:26 euphores joins (~SASL_euph@user/euphores)
17:12:05 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
17:12:32 Alleria_ joins (~Alleria@user/alleria)
17:14:57 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
17:15:06 × Alleria quits (~Alleria@user/alleria) (Ping timeout: 252 seconds)
17:15:18 euleritian joins (~euleritia@dynamic-176-006-130-078.176.6.pool.telefonica.de)
17:20:57 × Digit quits (~user@user/digit) (Remote host closed the connection)
17:21:25 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
17:25:10 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:25:47 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Max SendQ exceeded)
17:26:14 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:26:20 × euleritian quits (~euleritia@dynamic-176-006-130-078.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
17:26:38 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
17:28:17 × k_hachig_ quits (~k_hachig@pool-99-240-27-155.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
17:39:11 × alp_ quits (~alp@2001:861:8ca0:4940:c709:ad18:8b15:a8dc) (Ping timeout: 252 seconds)
17:45:21 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
17:45:51 euleritian joins (~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de)
17:46:29 × euleritian quits (~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
17:46:46 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
17:55:49 mari-estel joins (~mari-este@user/mari-estel)
18:01:43 lxsameer joins (~lxsameer@Serene/lxsameer)
18:05:34 × mari-estel quits (~mari-este@user/mari-estel) ()
18:06:21 Square joins (~Square@user/square)
18:07:37 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
18:08:38 × ACuriousMoose quits (~ACuriousM@156.34.161.188) (Ping timeout: 272 seconds)
18:08:45 × dibblego quits (~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
18:08:57 ACuriousMoose joins (~ACuriousM@156.34.161.188)
18:09:07 dibblego joins (~dibblego@116-255-1-119.ip4.superloop.au)
18:09:07 × dibblego quits (~dibblego@116-255-1-119.ip4.superloop.au) (Changing host)
18:09:07 dibblego joins (~dibblego@haskell/developer/dibblego)
18:09:57 × Square2 quits (~Square4@user/square) (Ping timeout: 248 seconds)
18:11:01 × tinjamin4 quits (~tinjamin@banshee.h4x0r.space) (Ping timeout: 248 seconds)
18:11:01 × Athas quits (athas@sigkill.dk) (Ping timeout: 248 seconds)
18:11:05 × cross quits (~cross@spitfire.i.gajendra.net) (Ping timeout: 252 seconds)
18:11:15 tinjamin4 joins (~tinjamin@banshee.h4x0r.space)
18:11:27 × guygastineau quits (~guygastin@137.184.131.156) (Ping timeout: 252 seconds)
18:11:45 cross joins (~cross@spitfire.i.gajendra.net)
18:11:46 RMSBach joins (~guygastin@137.184.131.156)
18:12:33 × chele quits (~chele@user/chele) (Remote host closed the connection)
18:12:34 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
18:12:39 Athas joins (athas@2a01:7c8:aaac:1cf:1953:5ca8:4562:ea33)
18:13:24 euleritian joins (~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de)
18:13:41 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 248 seconds)
18:14:01 × pounce quits (~pounce@user/cute/pounce) (Ping timeout: 252 seconds)
18:14:15 pounce joins (~pounce@user/cute/pounce)
18:14:28 dibblego joins (~dibblego@haskell/developer/dibblego)
18:16:39 mari-estel joins (~mari-este@user/mari-estel)
18:17:10 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:17:18 troydm joins (~troydm@user/troydm)
18:17:30 × Teacup quits (~teacup@user/teacup) (Ping timeout: 272 seconds)
18:19:22 Teacup joins (~teacup@user/teacup)
18:19:57 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
18:23:01 alp_ joins (~alp@2001:861:8ca0:4940:59db:a92c:453c:d8da)
18:29:33 <bailsman> Can you make an IO action that gives an error if you call it a second time? (but not the first time)
18:30:03 × mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection)
18:30:05 <mauke> sure, put an IORef in there
18:30:24 mari-estel joins (~mari-este@user/mari-estel)
18:31:31 ft joins (~ft@p508db9c7.dip0.t-ipconnect.de)
18:32:18 <bailsman> That's runtime, right?
18:33:55 <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.
18:35:01 × mari-estel quits (~mari-este@user/mari-estel) (Client Quit)
18:42:03 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
18:42:22 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:42:52 <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
18:43:03 <tomsmeding> running `newIORef x` multiple times in IO gives you multiple different IORefs
18:43:23 <tomsmeding> % let action = putStrLn "hi" in action >> action
18:43:23 <yahb2> hi ; hi
18:43:33 <tomsmeding> there's only one IO action here, but it's run twice
18:44:09 <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
18:44:26 <tomsmeding> the one thing that allows you to express something like "can be used exactly once" is LinearTypes
18:44:37 <tomsmeding> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/linear_types.html#extension-LinearTypes
18:45:38 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
18:52:19 Alleria joins (~Alleria@user/alleria)
18:53:43 × Alleria_ quits (~Alleria@user/alleria) (Ping timeout: 245 seconds)
18:55:10 <bailsman> Thanks.
19:01:51 × SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
19:03:17 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds)
19:05:06 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
19:06:09 k_hachig_ joins (~k_hachig@70.29.50.156)
19:11:19 × k_hachig_ quits (~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
19:21:50 ljdarj joins (~Thunderbi@user/ljdarj)
19:28:47 × kuribas quits (~user@ptr-17d51ep38mnuz9z1v6u.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
19:32:27 × youthlic quits (~Thunderbi@user/youthlic) (Ping timeout: 246 seconds)
19:36:09 <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
19:36:09 <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...
19:36:47 youthlic joins (~Thunderbi@user/youthlic)
19:39:51 ardell joins (~ardell@user/ardell)
19:40:47 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
19:43:24 <tomsmeding> % import Data.IORef
19:43:24 <yahb2> <no output>
19:45:15 × notzmv quits (~umar@user/notzmv) (Ping timeout: 252 seconds)
19:47:20 × briandaed quits (~root@user/briandaed) (Remote host closed the connection)
19:50:57 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
19:51:17 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:54:13 × ft quits (~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: Lost terminal)
19:56:05 ft joins (~ft@p508db9c7.dip0.t-ipconnect.de)
19:57:59 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
20:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
20:00:40 caconym joins (~caconym@user/caconym)
20:02:45 notzmv joins (~umar@user/notzmv)
20:06:13 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 245 seconds)
20:09:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:10:31 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:13:49 euphores joins (~SASL_euph@user/euphores)
20:14:21 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
20:19:58 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:24:17 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
20:24:33 sprotte24 joins (~sprotte24@p200300d16f21340071325e90113b492f.dip0.t-ipconnect.de)
20:26:48 k_hachig_ joins (~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca)
20:28:22 dut joins (~dut@user/dut)
20:32:01 × k_hachig_ quits (~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca) (Ping timeout: 265 seconds)
20:33:25 × notzmv quits (~umar@user/notzmv) (Ping timeout: 248 seconds)
20:35:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:36:09 × Alleria quits (~Alleria@user/alleria) (Ping timeout: 246 seconds)
20:36:17 ash3en1 joins (~Thunderbi@146.70.124.222)
20:36:57 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 252 seconds)
20:36:58 ash3en1 is now known as ash3en
20:39:42 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
20:43:02 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
20:43:32 rvalue joins (~rvalue@user/rvalue)
20:44:21 × ash3en quits (~Thunderbi@146.70.124.222) (Quit: ash3en)
20:44:28 <bailsman> Hmm... is using existential types or multistate a somewhat unusual thing to do? It seems that way.
20:45:21 × dut quits (~dut@user/dut) (Quit: Leaving)
20:45:34 <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
20:46:12 <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
20:46:37 <geekosaur> uh, not guarantees. "constraints"?
20:47:01 <bailsman> Is there a "list of antipatterns" somewhere? I still struggle to get out of an imperative mindset sometimes
20:48:49 ubert joins (~Thunderbi@91.141.67.185.wireless.dyn.drei.com)
20:49:14 <geekosaur> the only ones I've seen are themselves antipatterns
20:49:47 <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
20:50:14 Alleria joins (~Alleria@user/alleria)
20:50:15 <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.
20:50:24 <tomsmeding> well, I guess NPlusKPatterns is an antipattern. :P
20:50:24 × Alleria quits (~Alleria@user/alleria) (Remote host closed the connection)
20:50:39 <Rembane> bailsman: Have you considered using higher order functions instead?
20:50:48 <bailsman> now when I want to put it in a record, I have to make a dependency from that module to the concrete implementation
20:50:52 <tomsmeding> bailsman: why not give the functions and data types in that module a type parametter?
20:51:08 <tomsmeding> no need to hide the parametrisation
20:51:11 <tomsmeding> (typically)
20:51:12 Alleria joins (~Alleria@user/alleria)
20:51:22 <[exa]> bailsman: ...or make a typeclass that describes that injected dependency (to save some work with passing around the function(s))
20:51:35 <tomsmeding> (in which case you'll still need to make said functions/data types polymorphic)
20:51:44 <bailsman> Well, that means everywhere I use my data type, I have to keep repeating that type variable
20:51:59 <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
20:52:14 <tomsmeding> you don't need to write the full type, just the parameter :)
20:52:17 <bailsman> I know
20:52:18 <tomsmeding> but yes, that's what people tend to do
20:52:40 <Rembane> You can also use the `type Rawr = RawrT Identity` trick
20:52:43 <bailsman> OK yes and I can constrain that parameter with a typeclass, so I can still use it everywhere
20:52:46 <Rembane> Or perhaps technique
20:53:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:53:07 <Rembane> With loads of examples in the transformers library
20:53:27 <bailsman> Rembane: wait what? Can you explain what that does?
20:53:34 <tomsmeding> just a type synonym :)
20:53:50 <Rembane> bailsman: What tomsmeding just said. :)
20:53:52 <bailsman> but does that still make it parametric?
20:53:58 <tomsmeding> if you find yourself typing 'RawrT Identity' everywhere, do that, then you'll just need to type Rawr
20:54:15 <bailsman> No but wait. Aren't I typing `RawrT a` everywhere?
20:54:18 <tomsmeding> you'd do this after you've chosen the instantiation
20:54:26 <tomsmeding> you'd use `RawrT a` in the implementation
20:54:39 <bailsman> Oh, the type alias is in the consumer, not the provider
20:54:42 <tomsmeding> yes
20:54:54 <bailsman> OK, nice. This is all making sense now. Let me try.
20:55:25 × michalz_ quits (~michalz@185.246.207.201) (Read error: Connection reset by peer)
20:55:44 michalz joins (~michalz@185.246.207.222)
20:56:31 <bailsman> BTW, -O2 makes this zero-cost? Or would it somehow run faster if it knew the concrete types everywhere
20:56:49 <Rembane> Zero-cost!
20:56:56 <Rembane> If you build it on newtype
20:57:22 <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.
20:57:23 <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
20:57:25 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
20:57:44 <bailsman> It sort of knows them, but it's across module boundaries
20:57:58 <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
20:58:20 <tomsmeding> if nothing gets inlined, you lose some specialisation = you get more indirection
20:58:49 <tomsmeding> compared to this, newtype vs data is no more than a sidenote I think :p
20:59:25 × ardell quits (~ardell@user/ardell) (Quit: Leaving)
20:59:32 <bailsman> What would prevent such inlining?
20:59:35 <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
20:59:49 <tomsmeding> unless foo gets inlined into a place where `m` is known!
21:00:18 <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
21:00:36 <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?)
21:00:37 <tomsmeding> and ghc because there's typically lots of optimisations/cancellations that that makes available
21:00:38 notzmv joins (~umar@user/notzmv)
21:00:50 <tomsmeding> inlining is the big enabler of almost all optimisations
21:01:12 <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
21:01:38 <bailsman> is there a less verbose way than -ddump_simpl to show what has happened
21:01:41 <bailsman> like how much indirection ther eis
21:01:44 <[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
21:02:14 <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
21:02:25 <tomsmeding> but using an existential has the exact same cost, because it's still an unknown type then
21:03:05 <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
21:03:20 <tomsmeding> to be noted is that this indirection is the same as what happens in ~every other language, including C++ etc.
21:03:23 <[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)
21:03:37 <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
21:03:51 <tomsmeding> are you sure this is a performance bottleneck?
21:04:20 <bailsman> Mmmm no, I'm mainly looking for "good defaults" and some intuition for what's going to happen to the performance.
21:04:23 <tomsmeding> the "indirect function call" we're talking about is just like a virtual method call in C++ or Java
21:04:27 <bailsman> but I have seen -O1 be 10x slower than -O2
21:04:52 <tomsmeding> (and indeed, if you want to avoid virtual method calls completely in C++, you're going to have to couple stuff)
21:04:53 <bailsman> so I'm vaguely worried about it not having enough type information to specialise things
21:05:05 <tomsmeding> try [exa]'s tips
21:06:45 <tomsmeding> the usual adage "make it work first, then profile, then optimise" still applies :p
21:06:57 × youthlic quits (~Thunderbi@user/youthlic) (Ping timeout: 246 seconds)
21:07:31 <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
21:07:49 <tomsmeding> `Monad` is a typical example that may be significant, depending on your code
21:08:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:09:13 k_hachig_ joins (~k_hachig@70.29.50.156)
21:10:59 <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)
21:12:25 <Rembane> IIRC the biggest downside of putting everything in type classes is that the error messages become really exotic after a while.
21:13:14 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
21:13:29 youthlic joins (~Thunderbi@user/youthlic)
21:15:51 × califax quits (~califax@user/califx) (Remote host closed the connection)
21:16:16 califax joins (~califax@user/califx)
21:17:49 ljdarj1 joins (~Thunderbi@user/ljdarj)
21:20:49 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
21:20:50 ljdarj1 is now known as ljdarj
21:23:45 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:28:21 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:33:26 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
21:38:44 simendsjo joins (~user@84.211.91.108)
21:39:08 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:43:47 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
21:53:36 Everything joins (~Everythin@46.211.214.14)
21:53:56 × michalz quits (~michalz@185.246.207.222) (Remote host closed the connection)
21:54:40 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:56:50 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
21:56:54 <hellwolf> e.g.?
21:59:10 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:00:49 × simendsjo quits (~user@84.211.91.108) (Ping timeout: 248 seconds)
22:01:21 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds)
22:02:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:04:52 <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.
22:04:53 <lambdabot> error:
22:04:53 <lambdabot> • Could not deduce (Foldable t0)
22:04:53 <lambdabot> from the context: (Foldable t, Num b, Num (t b))
22:05:22 <Rembane> Source: https://discourse.haskell.org/t/examples-of-haskell-type-errors/10468/4
22:05:39 <tomsmeding> cute one
22:10:58 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
22:10:59 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
22:15:42 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:16:06 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
22:19:01 Square2 joins (~Square4@user/square)
22:19:27 <Rembane> And such a red herring! :D
22:20:05 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
22:20:49 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:22:04 <tomsmeding> oh but red herrings of this kind are easy to find
22:22:07 <tomsmeding> > maximum 2 3
22:22:08 <lambdabot> error:
22:22:08 <lambdabot> • Could not deduce (Foldable t0)
22:22:08 <lambdabot> from the context: (Foldable t, Ord (t2 -> t3), Num t2,
22:22:36 <tomsmeding> oh perhaps this one is even worse >:)
22:24:04 <Rembane> I love how confusing it is. :D
22:26:32 × Square quits (~Square@user/square) (Ping timeout: 255 seconds)
22:28:01 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
22:31:07 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:36:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
22:37:24 × k_hachig_ quits (~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
22:46:30 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:49:49 Sgeo joins (~Sgeo@user/sgeo)
22:51:21 k_hachig_ joins (~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca)
22:53:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:55:09 × youthlic quits (~Thunderbi@user/youthlic) (Quit: youthlic)
22:57:00 youthlic joins (~Thunderbi@user/youthlic)
22:57:12 × k_hachig_ quits (~k_hachig@bras-base-toroon0247w-grc-123-70-29-50-156.dsl.bell.ca) (Ping timeout: 252 seconds)
23:00:26 mange joins (~user@user/mange)
23:04:31 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:09:12 × ski quits (~ski@remote11.chalmers.se) (Ping timeout: 252 seconds)
23:09:29 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
23:11:11 ski joins (~ski@remote11.chalmers.se)
23:19:55 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:22:25 <hellwolf> How would you make a more appropriate error message, instead?
23:23:34 <hellwolf> "This is a method of Foldable, but no instances was found for your inputs. Perhaps, you are using a wrong function?"
23:24:04 × acidjnk_new3 quits (~acidjnk@p200300d6e7283f0888af8ecdd6430c47.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
23:24:34 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
23:24:52 <hellwolf> I asked chatgpt, it says this:
23:24:57 <hellwolf> "The error is saying that the function `maximum` used in your Haskell code cannot determine a specific structure (`Foldable` type) for the numbers you provided. Make sure you're using `maximum` correctly with a list like `maximum [2,3]`."
23:25:19 <hellwolf> Perhaps, we should have a plugin for GHC, that translate message through chatgpt for people that needs assistant?
23:25:50 <hellwolf> instead of trying to do a lot of work on fixing error messages..., which seems never adequate
23:26:41 leoy joins (~leoy@95.220.52.198)
23:26:59 × leoy quits (~leoy@95.220.52.198) (Client Quit)
23:29:55 leoy joins (~leoy@95.220.52.198)
23:31:30 ljdarj1 joins (~Thunderbi@user/ljdarj)
23:31:40 × leoy quits (~leoy@95.220.52.198) (Client Quit)
23:32:05 leoy joins (~leoy@95.220.52.198)
23:32:29 emmanuelux joins (~emmanuelu@user/emmanuelux)
23:34:00 × euleritian quits (~euleritia@dynamic-176-006-135-189.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
23:34:16 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
23:35:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:35:41 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
23:35:42 ljdarj1 is now known as ljdarj
23:37:36 × leoy quits (~leoy@95.220.52.198) (Remote host closed the connection)
23:38:41 leoy joins (~leoy@95.220.52.198)
23:40:04 × leoy quits (~leoy@95.220.52.198) (Remote host closed the connection)
23:40:06 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
23:40:07 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
23:40:27 chexum joins (~quassel@gateway/tor-sasl/chexum)
23:41:55 unter-oe joins (~unter-oe@95.220.52.198)
23:42:51 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
23:43:02 × unter-oe quits (~unter-oe@95.220.52.198) (Changing host)
23:43:02 unter-oe joins (~unter-oe@user/unter-oe)
23:43:45 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
23:44:04 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:49:41 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
23:49:58 unter-oe joins (~unter-oe@95.220.52.198)
23:50:24 × unter-oe quits (~unter-oe@95.220.52.198) (Remote host closed the connection)
23:50:38 unter-oe joins (~unter-oe@user/unter-oe)
23:50:39 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:51:20 xdminsy joins (~xdminsy@117.147.71.197)
23:55:01 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
23:55:30 × Everything quits (~Everythin@46.211.214.14) (Ping timeout: 265 seconds)
23:57:23 Everything joins (~Everythin@46-133-164-202.mobile.vf-ua.net)
23:59:38 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
23:59:57 unter-oe joins (~unter-oe@user/unter-oe)

All times are in UTC on 2024-11-25.