2021/10/09

2021-10-09 00:00:14 +0200 <a6a45081-2b83> is there a way to cache cabal build for CI? I am caching ~/.cabal/store and ~/cabal/packages
2021-10-09 00:00:37 +0200 <a6a45081-2b83> Is there something missing? I see dependencies like transformers, base-compat being built everytime
2021-10-09 00:00:42 +0200 <sclv> a6a45081-2b83: https://hackage.haskell.org/package/cabal-cache
2021-10-09 00:00:47 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 00:00:59 +0200 <maerwald> that requires s3 though
2021-10-09 00:01:39 +0200 <sclv> if you keep using the store, then they shouldn't get built every time, assuming the versions and flags match, and _also_ assuming you're fetching/managing them with standard cabal instead of listing them in .project files
2021-10-09 00:02:08 +0200 <geekosaur> unless ci is doing something stupid like nuking the store
2021-10-09 00:02:35 +0200 <geekosaur> (have heard of people having a ci step to copy the store from somewhere safe to get around that)
2021-10-09 00:02:49 +0200 <a6a45081-2b83> I see that it restores 37MB of some cache, but idk if there is something wrong with my config
2021-10-09 00:02:58 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-10-09 00:03:15 +0200 <a6a45081-2b83> flags and ghc version remain same, no deps in .project file
2021-10-09 00:08:33 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
2021-10-09 00:13:29 +0200sprout(~quassel@2a02:a467:ccd6:1:9093:865d:793c:93e8)
2021-10-09 00:15:30 +0200mestre(~mestre@191.177.175.57)
2021-10-09 00:20:35 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 00:21:43 +0200Core1638(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 00:21:43 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 00:21:49 +0200Core1638(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 00:23:33 +0200michalz(~michalz@185.246.204.93)
2021-10-09 00:24:12 +0200michalz(~michalz@185.246.204.93) (Remote host closed the connection)
2021-10-09 00:26:09 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net)
2021-10-09 00:26:15 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a) (Quit: Textual IRC Client: www.textualapp.com)
2021-10-09 00:27:58 +0200max22-(~maxime@2a01cb0883359800e541236a3ab6432d.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-10-09 00:29:29 +0200gioyik(~gioyik@gateway/tor-sasl/gioyik)
2021-10-09 00:30:24 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 00:31:50 +0200OscarZ(~oscarz@85.194.207.78)
2021-10-09 00:34:42 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 00:40:41 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 00:42:04 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 00:42:55 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2021-10-09 00:45:56 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c) (Remote host closed the connection)
2021-10-09 00:46:14 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2021-10-09 00:48:26 +0200ss4(~wootehfoo@user/wootehfoot) (Ping timeout: 245 seconds)
2021-10-09 00:48:59 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection)
2021-10-09 00:57:37 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 00:57:44 +0200YoungChiefBTW(~youngchie@2001:470:69fc:105::214c) (Changing host)
2021-10-09 00:57:44 +0200YoungChiefBTW(~youngchie@user/youngchiefbtw)
2021-10-09 00:58:12 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 01:01:09 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 01:05:38 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-10-09 01:06:30 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2021-10-09 01:07:11 +0200chomwitt(~chomwitt@94.66.61.137) (Ping timeout: 245 seconds)
2021-10-09 01:07:54 +0200mestre(~mestre@191.177.175.57) (Read error: Connection reset by peer)
2021-10-09 01:09:29 +0200hendursaga(~weechat@user/hendursaga)
2021-10-09 01:09:44 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 01:09:57 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 01:11:42 +0200mestre(~mestre@191.177.175.57)
2021-10-09 01:12:06 +0200hendursa1(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-09 01:18:52 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 01:19:14 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
2021-10-09 01:20:19 +0200wrengrwrengr_away
2021-10-09 01:21:22 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 01:22:07 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 01:23:14 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-10-09 01:29:03 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-10-09 01:31:36 +0200CiaoSen(~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-09 01:36:30 +0200coffee7(~a@p200300ef971a6853e4ca7f30fbe64496.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1)
2021-10-09 01:38:19 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 01:40:02 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net) (Ping timeout: 265 seconds)
2021-10-09 01:40:31 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-10-09 01:41:30 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-10-09 01:42:47 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 01:42:47 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 01:45:50 +0200emf(~emf@2620:10d:c090:400::5:3586) (Ping timeout: 260 seconds)
2021-10-09 01:45:54 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 01:46:19 +0200ph88(~ph88@2a02:8109:9e00:7e5c::3d56)
2021-10-09 01:49:08 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 01:50:50 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 01:54:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 01:57:55 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 01:58:39 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 01:59:07 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2021-10-09 02:03:55 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)
2021-10-09 02:03:57 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-09 02:10:21 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507)
2021-10-09 02:11:43 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-10-09 02:12:05 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
2021-10-09 02:12:58 +0200motherfsck(~motherfsc@user/motherfsck)
2021-10-09 02:13:31 +0200akspecs__(~akspecs@user/akspecs) (Ping timeout: 252 seconds)
2021-10-09 02:14:04 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 02:14:05 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 02:15:30 +0200emf(~emf@2620:10d:c090:400::5:3586)
2021-10-09 02:18:56 +0200akspecs__(~akspecs@user/akspecs)
2021-10-09 02:19:28 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 02:19:47 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-09 02:21:10 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection)
2021-10-09 02:21:37 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-09 02:21:46 +0200emf(~emf@2620:10d:c090:400::5:3586) (Ping timeout: 245 seconds)
2021-10-09 02:22:29 +0200libertyprime(~libertypr@118.149.75.78) (Read error: Connection reset by peer)
2021-10-09 02:22:36 +0200acidjnk_new3(~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-09 02:23:27 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-09 02:26:01 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: jkvsbk)
2021-10-09 02:27:54 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-09 02:29:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-09 02:29:52 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 02:29:55 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 02:34:20 +0200_xor(~xor@72.49.199.147) (Read error: Connection reset by peer)
2021-10-09 02:40:16 +0200img(~img@user/img)
2021-10-09 02:40:25 +0200_xor(~xor@72.49.199.147)
2021-10-09 02:52:50 +0200libertyprime(~libertypr@118.149.75.78)
2021-10-09 02:54:09 +0200gioyik(~gioyik@gateway/tor-sasl/gioyik) (Ping timeout: 276 seconds)
2021-10-09 02:56:10 +0200tabaqui(~root@46.39.45.162) (Quit: WeeChat 3.3)
2021-10-09 02:58:38 +0200kimjetwav(~user@2607:fea8:235f:9730:cb0f:f2b8:510e:5110) (Ping timeout: 260 seconds)
2021-10-09 03:00:37 +0200retroid_(~retro@176.255.22.194)
2021-10-09 03:00:44 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 03:00:59 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 03:04:04 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 03:04:20 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 03:04:34 +0200retro_(~retro@176.255.22.194) (Ping timeout: 252 seconds)
2021-10-09 03:04:43 +0200retro_(~retro@176.255.22.194)
2021-10-09 03:05:07 +0200retroid_(~retro@176.255.22.194) (Ping timeout: 252 seconds)
2021-10-09 03:06:12 +0200kimjetwav(~user@2607:fea8:235f:9730:44bb:5259:c248:1d7c)
2021-10-09 03:09:16 +0200xff0x(~xff0x@2001:1a81:5251:1900:6353:3c1e:a988:d99) (Ping timeout: 245 seconds)
2021-10-09 03:11:14 +0200xff0x(~xff0x@2001:1a81:528b:f000:ce9b:808a:c5c5:1eb1)
2021-10-09 03:11:29 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
2021-10-09 03:12:07 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-10-09 03:12:30 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-10-09 03:13:37 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-10-09 03:17:15 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-09 03:21:56 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 03:22:17 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 03:22:27 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 03:26:24 +0200pfurla_(~pfurla@176.67.85.207)
2021-10-09 03:28:39 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 245 seconds)
2021-10-09 03:29:43 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-10-09 03:29:46 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 03:29:49 +0200neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2021-10-09 03:31:21 +0200pfurla(~pfurla@216.131.83.65)
2021-10-09 03:31:22 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 03:33:13 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 03:33:40 +0200pfurla_(~pfurla@176.67.85.207) (Ping timeout: 252 seconds)
2021-10-09 03:34:18 +0200XrayEcho(~Completen@66-152-106-102.static.firstlight.net)
2021-10-09 03:34:18 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2021-10-09 03:35:10 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 03:39:48 +0200gentauro(~gentauro@user/gentauro)
2021-10-09 03:50:12 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 03:53:10 +0200darkstardevx(~darkstard@c-24-21-53-33.hsd1.or.comcast.net) (Quit: Leaving)
2021-10-09 03:53:10 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 03:53:25 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-09 03:53:40 +0200darkstardevx(~darkstard@2601:1c2:300:c8a0::6c32)
2021-10-09 03:56:11 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 03:57:54 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 04:00:35 +0200z0ltan(~mishugana@user/mishugana)
2021-10-09 04:01:22 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2021-10-09 04:01:28 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-09 04:01:44 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 04:02:18 +0200z0ltan(~mishugana@user/mishugana) (Client Quit)
2021-10-09 04:02:51 +0200z0ltan(~mishugana@user/mishugana)
2021-10-09 04:03:06 +0200retroid_(~retro@176.255.22.194)
2021-10-09 04:03:18 +0200machinedgod(~machinedg@24.105.81.50) (Remote host closed the connection)
2021-10-09 04:03:25 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 04:04:24 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-09 04:05:04 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-10-09 04:06:35 +0200zaquest(~notzaques@5.128.210.178)
2021-10-09 04:06:43 +0200retro_(~retro@176.255.22.194) (Ping timeout: 252 seconds)
2021-10-09 04:07:25 +0200retro_(~retro@176.255.22.194)
2021-10-09 04:07:49 +0200retroid_(~retro@176.255.22.194) (Ping timeout: 252 seconds)
2021-10-09 04:08:50 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 04:09:01 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Read error: Connection reset by peer)
2021-10-09 04:10:22 +0200charukiewicz(~quassel@2600:1702:a90:2750::43) (Ping timeout: 268 seconds)
2021-10-09 04:11:57 +0200img(~img@user/img)
2021-10-09 04:13:09 +0200Amras(~Amras@user/Amras) (Quit: Leaving)
2021-10-09 04:13:26 +0200notzmv(~zmv@user/notzmv)
2021-10-09 04:13:52 +0200CiaoSen(~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-09 04:16:38 +0200Psybur(~Psybur@mobile-166-170-32-197.mycingular.net) (Remote host closed the connection)
2021-10-09 04:16:41 +0200superstar64(~superstar@2600:1700:ed80:50a0:d250:99ff:fe2c:53c4)
2021-10-09 04:22:48 +0200nisstyre(~wes@user/nisstyre) (Quit: WeeChat 3.1)
2021-10-09 04:23:42 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-10-09 04:23:51 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 04:23:58 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 04:24:53 +0200nisstyre(~wes@user/nisstyre)
2021-10-09 04:24:55 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12)
2021-10-09 04:25:11 +0200w-spc-gir(~w-spc-gir@2600:380:475a:5055:581e:91fa:3984:7a12) (Remote host closed the connection)
2021-10-09 04:25:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 04:27:28 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 04:28:14 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-10-09 04:28:44 +0200pfurla(~pfurla@216.131.83.65) (Read error: Connection reset by peer)
2021-10-09 04:29:28 +0200pfurla(~pfurla@216.131.83.65)
2021-10-09 04:30:03 +0200alx741(~alx741@181.196.68.60) (Quit: alx741)
2021-10-09 04:31:47 +0200wei2912(~wei2912@112.199.250.21)
2021-10-09 04:34:40 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
2021-10-09 04:35:05 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2021-10-09 04:35:42 +0200hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:35:42 +0200bradparker(sid262931@id-262931.uxbridge.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:35:52 +0200tapas(sid467876@id-467876.ilkley.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:36:10 +0200econo(uid147250@user/econo) (Ping timeout: 260 seconds)
2021-10-09 04:36:25 +0200T_S_(sid501726@id-501726.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:36:38 +0200dsal(sid13060@id-13060.lymington.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:36:58 +0200mcfilib(sid302703@user/mcfilib) (Ping timeout: 252 seconds)
2021-10-09 04:36:58 +0200aria(sid380617@id-380617.lymington.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:36:58 +0200kaychaks__(sid236345@id-236345.helmsley.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:36:58 +0200b20n(sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:36:58 +0200hongminhee(sid295@id-295.tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:37:06 +0200parseval(sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:37:06 +0200bbhoss(sid18216@id-18216.tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:37:06 +0200christiaanb(sid84827@id-84827.lymington.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:37:21 +0200tapas(sid467876@ilkley.irccloud.com)
2021-10-09 04:37:21 +0200lbseale_(~lbseale@user/ep1ctetus)
2021-10-09 04:37:22 +0200bradparker(sid262931@uxbridge.irccloud.com)
2021-10-09 04:37:31 +0200dpratt_(sid193493@id-193493.helmsley.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:37:31 +0200awpr(uid446117@id-446117.lymington.irccloud.com) (Ping timeout: 252 seconds)
2021-10-09 04:37:34 +0200jmct_(sid160793@id-160793.tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:37:34 +0200grfn(sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:37:34 +0200gregberns__(sid315709@id-315709.helmsley.irccloud.com) (Ping timeout: 260 seconds)
2021-10-09 04:37:34 +0200hook54321(sid149355@user/hook54321) (Ping timeout: 260 seconds)
2021-10-09 04:37:54 +0200b20n(sid115913@uxbridge.irccloud.com)
2021-10-09 04:38:53 +0200T_S_(sid501726@uxbridge.irccloud.com)
2021-10-09 04:39:02 +0200econo(uid147250@user/econo)
2021-10-09 04:39:06 +0200hook54321(sid149355@user/hook54321)
2021-10-09 04:39:20 +0200dsal(sid13060@lymington.irccloud.com)
2021-10-09 04:39:26 +0200jmct_(sid160793@5.254.36.57)
2021-10-09 04:39:27 +0200aria(sid380617@lymington.irccloud.com)
2021-10-09 04:39:27 +0200christiaanb(sid84827@lymington.irccloud.com)
2021-10-09 04:39:27 +0200hongminhee(sid295@5.254.36.57)
2021-10-09 04:39:28 +0200awpr(uid446117@lymington.irccloud.com)
2021-10-09 04:40:37 +0200mcfilib(sid302703@user/mcfilib)
2021-10-09 04:40:40 +0200grfn(sid449115@helmsley.irccloud.com)
2021-10-09 04:40:40 +0200parseval(sid239098@helmsley.irccloud.com)
2021-10-09 04:40:41 +0200bbhoss(sid18216@5.254.36.57)
2021-10-09 04:40:41 +0200gregberns__(sid315709@helmsley.irccloud.com)
2021-10-09 04:40:46 +0200kaychaks__(sid236345@helmsley.irccloud.com)
2021-10-09 04:40:46 +0200dpratt_(sid193493@helmsley.irccloud.com)
2021-10-09 04:41:21 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 245 seconds)
2021-10-09 04:44:53 +0200libertyprime(~libertypr@118.149.75.78) (Quit: leaving)
2021-10-09 04:50:00 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-10-09 04:50:06 +0200z0ltan(~mishugana@user/mishugana) (Quit: leaving)
2021-10-09 04:53:25 +0200td_(~td@muedsl-82-207-238-110.citykom.de) (Ping timeout: 252 seconds)
2021-10-09 04:54:25 +0200hnOsmium0001(uid453710@hampstead.irccloud.com)
2021-10-09 04:54:54 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 245 seconds)
2021-10-09 04:55:08 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-10-09 04:55:19 +0200td_(~td@muedsl-82-207-238-244.citykom.de)
2021-10-09 04:57:05 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-10-09 04:57:36 +0200pfurla(~pfurla@216.131.83.65) (Ping timeout: 245 seconds)
2021-10-09 04:58:33 +0200gaff(~gaff@49.207.200.236)
2021-10-09 04:58:34 +0200gaff_(~gaff@49.207.200.236)
2021-10-09 04:58:45 +0200gaff(~gaff@49.207.200.236) (Client Quit)
2021-10-09 04:58:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-09 04:59:07 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 05:02:39 +0200gaff_(~gaff@49.207.200.236) (Client Quit)
2021-10-09 05:02:56 +0200gaff(~gaff@49.207.200.236)
2021-10-09 05:03:11 +0200gaff(~gaff@49.207.200.236) (Client Quit)
2021-10-09 05:03:52 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-09 05:12:07 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-09 05:22:50 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds)
2021-10-09 05:24:15 +0200benin03693230163(~benin@183.82.24.191) (Ping timeout: 260 seconds)
2021-10-09 05:28:49 +0200XrayEcho(~Completen@66-152-106-102.static.firstlight.net) (Quit: Leaving)
2021-10-09 05:30:26 +0200benin03693230163(~benin@183.82.24.191)
2021-10-09 05:37:56 +0200lbseale_(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-10-09 05:40:46 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-10-09 05:43:28 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
2021-10-09 05:45:23 +0200motherfsck(~motherfsc@user/motherfsck)
2021-10-09 05:46:09 +0200superstar64(~superstar@2600:1700:ed80:50a0:d250:99ff:fe2c:53c4) (Quit: Leaving)
2021-10-09 05:47:45 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-10-09 06:03:13 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 268 seconds)
2021-10-09 06:04:58 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
2021-10-09 06:05:53 +0200motherfsck(~motherfsc@user/motherfsck)
2021-10-09 06:13:14 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 245 seconds)
2021-10-09 06:16:53 +0200motherfsck(~motherfsc@user/motherfsck)
2021-10-09 06:21:59 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 245 seconds)
2021-10-09 06:25:07 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-09 06:36:38 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-10-09 06:36:56 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-10-09 06:38:36 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-09 06:50:04 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-09 06:50:32 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-09 06:56:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 07:12:12 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-10-09 07:29:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab) (Remote host closed the connection)
2021-10-09 07:30:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-09 07:33:00 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-10-09 07:35:55 +0200motherfsck(~motherfsc@user/motherfsck)
2021-10-09 07:40:51 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-09 07:41:41 +0200beka(~beka@104.193.170.240)
2021-10-09 07:43:16 +0200shelves(~shelves@52.187.169.89)
2021-10-09 08:02:02 +0200mbuf(~Shakthi@122.178.225.141)
2021-10-09 08:02:23 +0200gaussrz(~gaussrz@2403:d400:1001:20:d2c5:d3ff:fe69:8eb5)
2021-10-09 08:03:17 +0200shelves(~shelves@52.187.169.89) (Quit: Client closed)
2021-10-09 08:05:15 +0200gaussrzshelves
2021-10-09 08:05:38 +0200shelves(~gaussrz@2403:d400:1001:20:d2c5:d3ff:fe69:8eb5) (Client Quit)
2021-10-09 08:11:25 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-09 08:13:11 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2021-10-09 08:13:19 +0200shelves(~gaussrz@2403:d400:1001:20:d2c5:d3ff:fe69:8eb5)
2021-10-09 08:16:06 +0200shelvesgaussrz
2021-10-09 08:17:49 +0200gaussrzshelves
2021-10-09 08:18:06 +0200shelvesgaussrz
2021-10-09 08:21:19 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-09 08:23:08 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
2021-10-09 08:26:14 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 08:27:27 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-10-09 08:29:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:196f:94f2:f9a2:d75d)
2021-10-09 08:30:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-09 08:33:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:196f:94f2:f9a2:d75d) (Ping timeout: 245 seconds)
2021-10-09 08:38:43 +0200gawen(~gawen@user/gawen) (Quit: cya)
2021-10-09 08:40:02 +0200gawen(~gawen@user/gawen)
2021-10-09 08:44:46 +0200wonko(~wjc@62.115.229.50)
2021-10-09 08:48:49 +0200jinsun(~quassel@user/jinsun) (Ping timeout: 252 seconds)
2021-10-09 08:50:52 +0200mei(~mei@user/mei)
2021-10-09 08:51:57 +0200zer0bitz(~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-09 08:51:59 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 08:55:34 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 09:01:25 +0200gioyik(~gioyik@gateway/tor-sasl/gioyik)
2021-10-09 09:04:18 +0200gioyik(~gioyik@gateway/tor-sasl/gioyik) (Client Quit)
2021-10-09 09:05:11 +0200beka(~beka@104.193.170.240) (Ping timeout: 265 seconds)
2021-10-09 09:07:47 +0200kayprish(~kayprish@cable-188-2-246-223.dynamic.sbb.rs)
2021-10-09 09:10:06 +0200_xor(~xor@72.49.199.147) (Read error: Connection reset by peer)
2021-10-09 09:14:34 +0200_xor(~xor@72.49.199.147)
2021-10-09 09:15:46 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-09 09:20:28 +0200beka(~beka@104.193.170.240)
2021-10-09 09:21:59 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 09:25:10 +0200pepeiborra(sid443799@ilkley.irccloud.com)
2021-10-09 09:25:58 +0200gaff(~gaff@49.207.200.236)
2021-10-09 09:26:30 +0200gaff(~gaff@49.207.200.236) (Client Quit)
2021-10-09 09:26:57 +0200 <pepeiborra> how do I get a Hackage trustee to publish a revision relaxing the upper bound of (base,ghc-prim) for ekg, ekg-core, ekg-json and snap-server?
2021-10-09 09:27:19 +0200 <pepeiborra> Or can anyone suggest a maintained alternative to EKG for telemetry/metrics ?
2021-10-09 09:28:22 +0200 <maerwald[m]> pepeiborra: NMU takes months. I have rather poor experience with it. Just use allow-newer?
2021-10-09 09:28:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 09:29:10 +0200 <pepeiborra> I'm adding EKG metrics to Haskell-Language-Server. Using allow-newer will break the Hackage build
2021-10-09 09:29:43 +0200 <pepeiborra> (for ghc 9, that is)
2021-10-09 09:29:52 +0200 <maerwald[m]> Then don't add it :p
2021-10-09 09:31:30 +0200 <pepeiborra> That's why I'm asking the help of a Hackage trustee, or an alternative. It's 2021, why can't we have nice metrics?
2021-10-09 09:33:13 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
2021-10-09 09:35:08 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-09 09:38:12 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 09:43:16 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2021-10-09 09:48:57 +0200morphism(~ret@46.245.81.26)
2021-10-09 09:50:17 +0200finsternis(~X@23.226.237.192) (Ping timeout: 265 seconds)
2021-10-09 09:59:49 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2021-10-09 10:00:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-09 10:01:28 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
2021-10-09 10:03:33 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-10-09 10:06:44 +0200hendursa1(~weechat@user/hendursaga)
2021-10-09 10:07:28 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 10:07:36 +0200jumper149(~jumper149@80.240.31.34)
2021-10-09 10:07:42 +0200kayprish(~kayprish@cable-188-2-246-223.dynamic.sbb.rs) (Remote host closed the connection)
2021-10-09 10:07:43 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-09 10:10:09 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:c808:9352:99b7:5190)
2021-10-09 10:10:18 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-09 10:10:35 +0200wei2912(~wei2912@112.199.250.21)
2021-10-09 10:11:38 +0200eggplant_(~Eggplanta@2600:1700:bef1:5e10:ece7:2acf:af55:ec98)
2021-10-09 10:14:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:c808:9352:99b7:5190) (Ping timeout: 245 seconds)
2021-10-09 10:14:26 +0200morphismabilean
2021-10-09 10:14:26 +0200hnOsmium0001(uid453710@hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-09 10:15:17 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-10-09 10:15:19 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f1d7:4272:2e7f:2bcc)
2021-10-09 10:15:53 +0200abileanall
2021-10-09 10:15:56 +0200eggplant_(~Eggplanta@2600:1700:bef1:5e10:ece7:2acf:af55:ec98) (Ping timeout: 245 seconds)
2021-10-09 10:15:57 +0200allmorphism
2021-10-09 10:16:11 +0200morphism[-all]
2021-10-09 10:16:20 +0200[-all]morphism
2021-10-09 10:17:37 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-10-09 10:17:37 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-10-09 10:17:40 +0200allbery_bgeekosaur
2021-10-09 10:19:12 +0200eggplant_(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-09 10:19:20 +0200the_proffesor(~theproffe@2601:282:847f:8010:818b:10e4:707d:e026)
2021-10-09 10:19:20 +0200the_proffesor(~theproffe@2601:282:847f:8010:818b:10e4:707d:e026) (Changing host)
2021-10-09 10:19:20 +0200the_proffesor(~theproffe@user/theproffesor)
2021-10-09 10:19:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f1d7:4272:2e7f:2bcc) (Ping timeout: 245 seconds)
2021-10-09 10:20:15 +0200turlando(~turlando@user/turlando) (Ping timeout: 265 seconds)
2021-10-09 10:20:16 +0200turlando_(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-10-09 10:23:23 +0200the_proffesor(~theproffe@user/theproffesor) (Read error: Connection reset by peer)
2021-10-09 10:23:26 +0200eggplant_(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Ping timeout: 245 seconds)
2021-10-09 10:23:39 +0200the_proffesor(~theproffe@user/theproffesor)
2021-10-09 10:25:06 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-10-09 10:30:44 +0200kayprish(~kayprish@cable-188-2-246-223.dynamic.sbb.rs)
2021-10-09 10:31:50 +0200OscarZ(~oscarz@85.194.207.78) (Quit: Leaving)
2021-10-09 10:32:45 +0200kayprish(~kayprish@cable-188-2-246-223.dynamic.sbb.rs) (Remote host closed the connection)
2021-10-09 10:36:15 +0200 <sm> pepeiborra: are the maintainers not responding ?
2021-10-09 10:36:40 +0200beka(~beka@104.193.170.240) (Ping timeout: 252 seconds)
2021-10-09 10:36:59 +0200morphism(~ret@46.245.81.26) (Ping timeout: 245 seconds)
2021-10-09 10:37:22 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-09 10:38:18 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 10:41:39 +0200acidjnk_new3(~acidjnk@p200300d0c703cb0545eae45689590a1f.dip0.t-ipconnect.de)
2021-10-09 10:42:58 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-09 10:45:16 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-09 10:49:06 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 265 seconds)
2021-10-09 10:51:41 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-10-09 10:51:49 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-09 10:52:47 +0200tonyz(~tonyz@user/tonyz)
2021-10-09 10:55:03 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Client Quit)
2021-10-09 10:55:15 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-09 10:55:17 +0200gehmehgeh(~user@user/gehmehgeh)
2021-10-09 10:55:37 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-10-09 10:59:29 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 11:03:45 +0200hubvu(sid495858@user/hubvu) (Ping timeout: 260 seconds)
2021-10-09 11:04:28 +0200hubvu(sid495858@user/hubvu)
2021-10-09 11:07:48 +0200 <carbolymer> I believe I've hit the limit of what ConstraintKinds lets me to do: https://bpa.st/AHXQ - is there a way in which I could write `type WithBar m = ...` ?
2021-10-09 11:10:52 +0200Guest62(~Guest62@c-73-83-26-183.hsd1.wa.comcast.net)
2021-10-09 11:12:30 +0200 <tomsmeding> carbolymer: what happens if you move the 'forall r' inside the tuple (i.e. write it twice)
2021-10-09 11:13:04 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 11:13:40 +0200 <carbolymer> tomsmeding: that would make (MonadReader r1 m, Has Bar r2) afaik
2021-10-09 11:14:25 +0200 <tomsmeding> oh wait you want them to be linked explicitly
2021-10-09 11:14:37 +0200 <carbolymer> yep
2021-10-09 11:15:09 +0200 <tomsmeding> yeah I believe this has been discussed here some time ago already, someone else had this issue and I believe the conclusion was that you can't do this with a constraint type synonym
2021-10-09 11:15:12 +0200 <coot> @carbolymer would this worked for you: https://bpa.st/DB4A
2021-10-09 11:15:13 +0200 <lambdabot> Unknown command, try @list
2021-10-09 11:15:40 +0200Guest62(~Guest62@c-73-83-26-183.hsd1.wa.comcast.net) (Quit: Ping timeout (120 seconds))
2021-10-09 11:15:49 +0200 <tomsmeding> yeah making a bespoke typeclass is the only way I think (not 100% sure)
2021-10-09 11:16:48 +0200 <carbolymer> tomsmeding: yeah, that was my feeling, that constraint kinds does not allow that; it would be nice to have small synonym to throw around the module instead of five constraints tho
2021-10-09 11:17:00 +0200 <tomsmeding> carbolymer: try the type class approach :p
2021-10-09 11:17:07 +0200 <tomsmeding> more heavy-weight but should work
2021-10-09 11:17:33 +0200 <carbolymer> coot: good idea, will check, but I will need to create instances for class AandB, won't I?
2021-10-09 11:18:39 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-10-09 11:19:51 +0200 <tomsmeding> class (MonadReader r m, Has Bar r) => WithBar m ; instance (MonadReader r m, Has Bar r) => WithBar m
2021-10-09 11:19:54 +0200 <tomsmeding> only one instance carbolymer
2021-10-09 11:20:35 +0200tfeb(~tfb@88.98.95.237)
2021-10-09 11:21:30 +0200 <carbolymer> tomsmeding: Not in scope: type variable ‘r’
2021-10-09 11:22:07 +0200 <tomsmeding> is there a good reason you don't want 'r' to be a type parameter of WithBar :p
2021-10-09 11:22:13 +0200 <coot> carbolymer: you will also need an instance `instance (A a, B a) => AandB a`, unfortunatelly it requires `UndecidableInstances`.
2021-10-09 11:22:48 +0200 <carbolymer> tomsmeding: yes, all I need from r is that is has instance `Has Bar r`
2021-10-09 11:22:57 +0200 <carbolymer> coot: :/
2021-10-09 11:23:35 +0200 <tomsmeding> carbolymer: sure, but adding r as an argument to WithBar doesn't mean you have to _use_ it in the function that has that WithBar constraint :p
2021-10-09 11:23:42 +0200 <tomsmeding> it's kind of ugly, I admit
2021-10-09 11:24:36 +0200 <carbolymer> either way I need to make some compromises, so maybe....
2021-10-09 11:26:40 +0200 <carbolymer> well, this works:
2021-10-09 11:26:40 +0200 <carbolymer> type WithBar r m = (MonadReader r m, Has Bar r) ; foo :: WithBar r m => m ()
2021-10-09 11:26:40 +0200 <tomsmeding> yeah 'type WithBar r m = (MonadReader r m, Has Bar r)' works but is suboptimal
2021-10-09 11:26:44 +0200 <tomsmeding> lol yes
2021-10-09 11:27:09 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-09 11:27:13 +0200 <carbolymer> I think I will be able to live with this suboptimal ;) thanks!
2021-10-09 11:27:49 +0200gaussrz(~gaussrz@2403:d400:1001:20:d2c5:d3ff:fe69:8eb5) (Ping timeout: 252 seconds)
2021-10-09 11:32:02 +0200fendor(~fendor@91.141.39.19.wireless.dyn.drei.com)
2021-10-09 11:38:11 +0200acidjnk(~acidjnk@p200300d0c703cb057cbb8d7fdd6e5a46.dip0.t-ipconnect.de)
2021-10-09 11:38:27 +0200tfeb(~tfb@88.98.95.237) (Remote host closed the connection)
2021-10-09 11:38:34 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-10-09 11:40:31 +0200acidjnk_new3(~acidjnk@p200300d0c703cb0545eae45689590a1f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-09 11:42:09 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com)
2021-10-09 11:44:28 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-09 11:57:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 12:08:16 +0200notzmv(~zmv@user/notzmv)
2021-10-09 12:11:16 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 265 seconds)
2021-10-09 12:12:55 +0200tinco(~tinco@tinco.nl) (Quit: Lost terminal)
2021-10-09 12:13:58 +0200benin03693230163(~benin@183.82.24.191) (Ping timeout: 260 seconds)
2021-10-09 12:17:31 +0200juhp(~juhp@128.106.188.220)
2021-10-09 12:17:33 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 265 seconds)
2021-10-09 12:17:54 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0)
2021-10-09 12:19:32 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-09 12:19:45 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 12:20:01 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-10-09 12:23:11 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-09 12:23:49 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-10-09 12:29:14 +0200benin03693230163(~benin@106.198.95.241)
2021-10-09 12:30:19 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 245 seconds)
2021-10-09 12:31:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-09 12:32:14 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-09 12:34:39 +0200tinco(~tinco@tinco.nl)
2021-10-09 12:37:17 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 12:38:33 +0200gaussrz(~gaussrz@58.247.22.226)
2021-10-09 12:42:01 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-09 12:42:14 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-10-09 12:51:07 +0200ubert(~Thunderbi@178.115.77.150.wireless.dyn.drei.com)
2021-10-09 12:51:36 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com)
2021-10-09 12:53:25 +0200Farzad(~FarzadBek@178.131.30.90)
2021-10-09 12:53:58 +0200brsvh(~bsc@li989-92.members.linode.com)
2021-10-09 12:54:10 +0200ubert(~Thunderbi@178.115.77.150.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-09 12:55:47 +0200Topsi(~Tobias@dyndsl-095-033-093-060.ewe-ip-backbone.de)
2021-10-09 13:00:55 +0200alx741(~alx741@181.196.68.60)
2021-10-09 13:01:59 +0200jumper149(~jumper149@80.240.31.34) (Ping timeout: 245 seconds)
2021-10-09 13:03:04 +0200jumper149(~jumper149@80.240.31.34)
2021-10-09 13:07:22 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-10-09 13:09:24 +0200brsvh(~bsc@li989-92.members.linode.com) (Quit: brsvh)
2021-10-09 13:14:16 +0200xff0x(~xff0x@2001:1a81:528b:f000:ce9b:808a:c5c5:1eb1) (Ping timeout: 245 seconds)
2021-10-09 13:17:01 +0200jinsun(~quassel@user/jinsun)
2021-10-09 13:19:25 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 265 seconds)
2021-10-09 13:22:46 +0200ph88(~ph88@2a02:8109:9e00:7e5c::3d56) (Ping timeout: 252 seconds)
2021-10-09 13:23:26 +0200tonyz(~tonyz@user/tonyz) (Ping timeout: 245 seconds)
2021-10-09 13:23:27 +0200ghoulguy(x@libera/staff/glguy) (Read error: Connection reset by peer)
2021-10-09 13:25:52 +0200alzgh(~alzgh@user/alzgh)
2021-10-09 13:27:13 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-09 13:28:16 +0200acidjnk(~acidjnk@p200300d0c703cb057cbb8d7fdd6e5a46.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-09 13:29:04 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 13:29:52 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 13:33:27 +0200Guest007(~Guest007@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-09 13:35:34 +0200 <sy4> how is this valid Haskell, and what would be an example value of this type? type Dfa = (State, State -> Char -> State, State -> Bool)
2021-10-09 13:35:51 +0200Guest007(~Guest007@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Client Quit)
2021-10-09 13:36:15 +0200fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-09 13:36:34 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-10-09 13:36:36 +0200fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Client Quit)
2021-10-09 13:37:01 +0200fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-09 13:38:40 +0200f-a(f2a@f2a.jujube.ircnow.org)
2021-10-09 13:38:54 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-09 13:38:57 +0200 <tdammers> "type" is just a type alias, you can alias any type you want
2021-10-09 13:39:13 +0200 <f-a> what is the specific word for `either`, `maybe`, `bool` and friends? Recursors? Inductors?
2021-10-09 13:39:24 +0200 <tdammers> this one here aliases a 3-tuple, where the first element is a State, the second is a function State -> Char -> State, and the third is a function State -> Bool
2021-10-09 13:40:30 +0200 <sy4> tdammers: thank you for the helpful response!
2021-10-09 13:42:18 +0200 <Franciman> hi f-a they are indeed recursors
2021-10-09 13:42:27 +0200 <Franciman> they are eliminators, too
2021-10-09 13:42:47 +0200 <Franciman> I am not sure about the difference between recursor and inductor, apparently you call them inductors when they are dependently typed
2021-10-09 13:42:59 +0200 <Franciman> and recursors otherwise, but honestly, this is just skim reading HoTT
2021-10-09 13:43:05 +0200 <Franciman> eliminators could be more general ^^
2021-10-09 13:43:05 +0200tinco(~tinco@tinco.nl) (Read error: Connection reset by peer)
2021-10-09 13:43:11 +0200 <f-a> thanks
2021-10-09 13:43:12 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap)
2021-10-09 13:43:36 +0200lambdap(~lambdap@static.167.190.119.168.clients.your-server.de)
2021-10-09 13:46:36 +0200mestre(~mestre@191.177.175.57) (Quit: Lost terminal)
2021-10-09 13:48:55 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2021-10-09 13:50:08 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2021-10-09 13:51:34 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-09 13:55:26 +0200glguy(x@libera/staff/glguy)
2021-10-09 13:56:53 +0200xff0x(~xff0x@2001:1a81:528b:f000:ce9b:808a:c5c5:1eb1)
2021-10-09 13:57:22 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-09 13:59:55 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
2021-10-09 14:00:07 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-09 14:08:15 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-10-09 14:08:26 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-09 14:08:51 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de)
2021-10-09 14:12:51 +0200acidjnk(~acidjnk@p200300d0c703cb057cbb8d7fdd6e5a46.dip0.t-ipconnect.de)
2021-10-09 14:17:08 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 14:17:53 +0200tonyz(~tonyz@user/tonyz)
2021-10-09 14:23:23 +0200rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438)
2021-10-09 14:23:43 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-09 14:24:41 +0200connrs(~connrs@user/connrs) (Ping timeout: 250 seconds)
2021-10-09 14:24:58 +0200sedeki(~textual@user/sedeki)
2021-10-09 14:27:45 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 14:30:04 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-10-09 14:35:56 +0200benin03693230163(~benin@106.198.95.241) (Ping timeout: 245 seconds)
2021-10-09 14:45:06 +0200benin03693230163(~benin@183.82.30.186)
2021-10-09 14:46:06 +0200sedeki(~textual@user/sedeki) (Ping timeout: 260 seconds)
2021-10-09 14:51:19 +0200sprout_(~quassel@2a02:a467:ccd6:1:80b9:65ea:c7e9:72cd)
2021-10-09 14:54:37 +0200sprout(~quassel@2a02:a467:ccd6:1:9093:865d:793c:93e8) (Ping timeout: 252 seconds)
2021-10-09 14:55:50 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-10-09 14:57:24 +0200hololeap(~hololeap@user/hololeap)
2021-10-09 15:02:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-09 15:02:59 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Quit: leaving)
2021-10-09 15:15:03 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0)
2021-10-09 15:15:24 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-09 15:15:37 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 15:16:40 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0) (Client Quit)
2021-10-09 15:17:05 +0200the_proffesor(~theproffe@user/theproffesor) (Read error: Connection reset by peer)
2021-10-09 15:17:32 +0200the_proffesor(~theproffe@user/theproffesor)
2021-10-09 15:22:27 +0200xiongxin(~quassel@113.116.34.18)
2021-10-09 15:22:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-09 15:23:39 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2021-10-09 15:25:07 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-09 15:27:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Ping timeout: 245 seconds)
2021-10-09 15:30:39 +0200turlando_(~turlando@93-42-250-112.ip89.fastwebnet.it) (Quit: turlando_)
2021-10-09 15:31:17 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-10-09 15:31:36 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2021-10-09 15:31:36 +0200turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2021-10-09 15:31:36 +0200turlando(~turlando@user/turlando)
2021-10-09 15:33:05 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-10-09 15:33:45 +0200sedeki(~textual@user/sedeki)
2021-10-09 15:34:21 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-09 15:35:49 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-09 15:37:10 +0200sedeki(~textual@user/sedeki) (Client Quit)
2021-10-09 15:38:18 +0200max22-(~maxime@2a01cb08833598008b508600e86e399b.ipv6.abo.wanadoo.fr)
2021-10-09 15:38:49 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-10-09 15:43:13 +0200fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
2021-10-09 15:44:46 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2021-10-09 15:47:15 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-09 15:48:26 +0200the_proffesor(~theproffe@user/theproffesor) (Ping timeout: 245 seconds)
2021-10-09 15:52:50 +0200 <Axman6> f-a: I have heard them referred to as catamorphisms - foldr is the equivalent for lists
2021-10-09 15:53:15 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 15:54:27 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2021-10-09 15:56:35 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-09 16:01:17 +0200 <f-a> thanks Axman6
2021-10-09 16:04:36 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
2021-10-09 16:06:06 +0200obs\(~obscur1ty@user/obs/x-5924898) (Read error: Connection reset by peer)
2021-10-09 16:07:24 +0200benin03693230163(~benin@183.82.30.186) (Quit: Ping timeout (120 seconds))
2021-10-09 16:07:55 +0200benin03693230163(~benin@183.82.30.186)
2021-10-09 16:08:14 +0200gaussrz(~gaussrz@58.247.22.226) (Ping timeout: 245 seconds)
2021-10-09 16:08:49 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2021-10-09 16:13:48 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-09 16:16:21 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-10-09 16:17:02 +0200zebrag(~chris@user/zebrag)
2021-10-09 16:18:13 +0200acidjnk(~acidjnk@p200300d0c703cb057cbb8d7fdd6e5a46.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-09 16:18:51 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-10-09 16:19:19 +0200arjun(~Srain@user/arjun)
2021-10-09 16:20:38 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-09 16:22:48 +0200tonyz(~tonyz@user/tonyz) (Quit: Konversation terminated!)
2021-10-09 16:22:49 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 16:23:38 +0200michalz(~michalz@185.246.204.89)
2021-10-09 16:24:16 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 16:26:21 +0200hexfive(~eric@50.35.83.177)
2021-10-09 16:28:07 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-09 16:28:48 +0200michalz(~michalz@185.246.204.89) (Remote host closed the connection)
2021-10-09 16:37:28 +0200peter71(~a@p200300ef971a68c8e4ca7f30fbe64496.dip0.t-ipconnect.de)
2021-10-09 16:43:52 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0.1)
2021-10-09 16:47:16 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-09 16:48:14 +0200TDANG_(~TDANG@2600:1700:13c1:8fe0:8023:fb4d:8e58:e262)
2021-10-09 16:49:54 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-10-09 16:50:44 +0200TDANG(~TDANG@inet-177-7.ets.org) (Ping timeout: 245 seconds)
2021-10-09 16:51:17 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 16:53:17 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-09 16:55:07 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-09 16:55:34 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-09 16:56:43 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds)
2021-10-09 16:57:13 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-09 16:58:19 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-09 16:58:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 16:59:11 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-10-09 17:01:54 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds)
2021-10-09 17:01:55 +0200glguyghoulguy
2021-10-09 17:03:41 +0200Farzad(~FarzadBek@178.131.30.90) (Ping timeout: 265 seconds)
2021-10-09 17:03:47 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-10-09 17:05:42 +0200hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com)
2021-10-09 17:07:56 +0200gaussrz(~gaussrz@59.78.13.186)
2021-10-09 17:09:15 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-09 17:11:00 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net) (Quit: leaving)
2021-10-09 17:14:22 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-09 17:14:22 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-09 17:14:22 +0200wroathe(~wroathe@user/wroathe)
2021-10-09 17:18:00 +0200 <peter71> Consider fa *> fb. Is it possible that the RTS will evaluate fb first? Or will they be evaluated sequentially like with >>?
2021-10-09 17:18:07 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Ping timeout: 252 seconds)
2021-10-09 17:20:07 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net)
2021-10-09 17:20:17 +0200 <hpc> it is possible
2021-10-09 17:20:38 +0200 <hpc> it's also possible with (>>), they are the same thing
2021-10-09 17:20:46 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0)
2021-10-09 17:21:12 +0200 <hpc> but that's evaluation, perhaps you're confusing that with ordering of effects?
2021-10-09 17:21:20 +0200 <peter71> Maybe.
2021-10-09 17:21:46 +0200 <hpc> evaluation is just taking an expression like (map (*2) [1..10]) and reducing it to 2:4:6:...
2021-10-09 17:22:04 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0) (Client Quit)
2021-10-09 17:22:14 +0200 <peter71> I simply want to guarantee that (putStrLn "user prompt" :: IO ()) is displayed before (getLine :: IO String)
2021-10-09 17:22:24 +0200 <hpc> it will
2021-10-09 17:22:24 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
2021-10-09 17:22:35 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c)
2021-10-09 17:22:47 +0200dibblego(~dibblego@haskell/developer/dibblego) (Excess Flood)
2021-10-09 17:23:07 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.com)
2021-10-09 17:23:08 +0200dibblego(~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
2021-10-09 17:23:08 +0200dibblego(~dibblego@haskell/developer/dibblego)
2021-10-09 17:23:35 +0200gaussrz(~gaussrz@59.78.13.186) (Quit: WeeChat 3.3)
2021-10-09 17:25:49 +0200 <peter71> My understanding is that in (fab <*> fa) I don't know if fab or fa will be evaluated first and that in (ma >>= amb) ma will always be evaluated first because the monad enforces a sequence. Is this wrong?
2021-10-09 17:26:44 +0200 <hpc> evaluation is independent from... we'll call it "execution"
2021-10-09 17:27:26 +0200 <hpc> and that difference is what IO captures
2021-10-09 17:27:53 +0200 <hpc> if you did say, (++) <$> getLine <*> getLine, the result will always be the first line you typed, then the second line you typed
2021-10-09 17:28:39 +0200 <hpc> but for something where evaluation order matters, perhaps you try (++) <$> (getLine >> error "1") <*> (getLine >> error "2")
2021-10-09 17:29:04 +0200 <hpc> which error triggers depends on which gets evaluated first
2021-10-09 17:29:08 +0200xiongxin(~quassel@113.116.34.18) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-09 17:29:21 +0200 <hpc> if we ignore errors, the only thing evaluation does is make your cpu warm :P
2021-10-09 17:32:55 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-09 17:33:08 +0200 <peter71> I tried your example a couple of times and it always produces the error message "1".
2021-10-09 17:33:17 +0200fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2021-10-09 17:34:06 +0200 <hpc> that might be a ghc thing
2021-10-09 17:34:21 +0200 <hpc> strictly speaking (heehee), evaluation can happen in any order
2021-10-09 17:34:42 +0200 <peter71> The difference between eval vs effect ordering is a hard topic for me. Is there a resource you can recommend, a book or blog post?
2021-10-09 17:34:49 +0200 <geekosaur> right, technically there is no order but a given implementation might always do the same thing. it's allowed, not required
2021-10-09 17:35:05 +0200 <hpc> none off the top of my head, i learned it in a very hodgepodge sort of way
2021-10-09 17:35:17 +0200 <geekosaur> so for example changing optimizations might cause it to always produce "2"
2021-10-09 17:35:27 +0200 <hpc> and yeah, it's pretty mind-bending
2021-10-09 17:36:14 +0200 <peter71> And if I would use monadic operators instead would it change the semantics at all?
2021-10-09 17:36:31 +0200 <hpc> it will be the same
2021-10-09 17:37:31 +0200 <hpc> the thing that ultimately made it all snap into place for me was realizing evaluation and execution don't happen on their own, they're always triggered by something
2021-10-09 17:37:43 +0200 <hpc> when you run a haskell program, a miracle occurs that makes main get executed
2021-10-09 17:37:44 +0200 <peter71> Then why do we say a monad enforces a sequence if there is no difference?
2021-10-09 17:38:03 +0200 <hpc> and that execution triggers evaluation however it needs to, in order to know what primitive operations to perform
2021-10-09 17:38:47 +0200 <geekosaur> (monads don't always enforce a sequence; see Cont)
2021-10-09 17:38:59 +0200 <hpc> it enforces sequencing of something else, not evaluation
2021-10-09 17:39:10 +0200 <hpc> when you write (a / b), either a or b can be reduced to a number
2021-10-09 17:39:16 +0200 <hpc> but you can't say that's the same as (b / a)
2021-10-09 17:39:22 +0200 <hpc> same with (>>) and friends
2021-10-09 17:39:36 +0200 <hpc> *can be reduced to a number first
2021-10-09 17:40:09 +0200 <peter71> so a bit like commutativity vs associativity?
2021-10-09 17:41:08 +0200 <hpc> more like commutativity vs you looking at the formula and reducing it to something more simple
2021-10-09 17:41:35 +0200 <hpc> you know intuitively that you can start wherever you want in the expression
2021-10-09 17:41:47 +0200 <hpc> (super complicated formula) * 0 doesn't require you to evaluate from left to right ;)
2021-10-09 17:41:56 +0200theproffesor(~theproffe@user/theproffesor)
2021-10-09 17:47:11 +0200 <peter71> hpc: the (a / b) example is good. Let's say both could throw an error and let's say both in fact do. Then the error I see depends on the evaluatin order. But if a and b both don't go wrong then I see the same result no matter which one is evaluated first. But it would matter if I changed it to b / a.
2021-10-09 17:48:51 +0200arjun(~Srain@user/arjun) (Ping timeout: 245 seconds)
2021-10-09 17:48:54 +0200theproffesor(~theproffe@user/theproffesor) (Leaving)
2021-10-09 17:50:04 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-09 17:50:41 +0200 <hpc> exactly
2021-10-09 17:53:44 +0200 <hpc> this idea is my favorite part of haskell, more than the laziness and type system and so on
2021-10-09 17:54:00 +0200Farzad(~FarzadBek@46.100.116.53)
2021-10-09 17:54:20 +0200Farzad(~FarzadBek@46.100.116.53) (Client Quit)
2021-10-09 17:54:25 +0200 <hpc> it means things like IO get completely extracted out of the language, and into things you can manipulate directly as values
2021-10-09 17:54:35 +0200Farzad(~FarzadBek@46.100.116.53)
2021-10-09 17:55:18 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0)
2021-10-09 17:58:10 +0200 <hpc> and once you really internalize it, you'll start hating when you have to write "foo(function() {a; b; c;});"
2021-10-09 17:58:51 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Ping timeout: 245 seconds)
2021-10-09 17:58:52 +0200 <hpc> and wishing you could just write "foo $ do {a; b; c}" instead, because wrapping actions in functions just feels wrong
2021-10-09 18:00:17 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2021-10-09 18:00:42 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2021-10-09 18:05:28 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-09 18:06:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-09 18:06:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-09 18:06:24 +0200wroathe(~wroathe@user/wroathe)
2021-10-09 18:07:14 +0200TranquilEcho(~grom@user/tranquilecho)
2021-10-09 18:07:42 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2021-10-09 18:07:55 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-09 18:08:13 +0200Topsi(~Tobias@dyndsl-095-033-093-060.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-10-09 18:08:43 +0200skykanin(~skykanin@2a01:79d:53aa:3a7c:c1d9:e465:2d77:d3f8)
2021-10-09 18:08:56 +0200skykanin(~skykanin@2a01:79d:53aa:3a7c:c1d9:e465:2d77:d3f8) (Changing host)
2021-10-09 18:08:56 +0200skykanin(~skykanin@user/skykanin)
2021-10-09 18:09:28 +0200skykanin(~skykanin@user/skykanin) (Client Quit)
2021-10-09 18:10:19 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 18:11:21 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-09 18:14:28 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2021-10-09 18:15:22 +0200wonko(~wjc@62.115.229.50)
2021-10-09 18:15:29 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 18:19:41 +0200jinsun(~quassel@user/jinsun) (Ping timeout: 245 seconds)
2021-10-09 18:25:28 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-09 18:25:58 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-09 18:29:07 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-09 18:29:43 +0200arahael(~arahael@118.211.178.62) (Ping timeout: 265 seconds)
2021-10-09 18:29:57 +0200econo(uid147250@user/econo)
2021-10-09 18:30:23 +0200 <peter71> Another example: a1 >>= a2. Let's say a1 and a2 are both IO actions that involve syscalls, a1 is something with an HTTP request and a2 needs to access a data base. In the beginning the RTS doesn't know what a1 and a2 are at all. It starts evaluating a2 and builds a "recipe" and recognizes that it will have to make a syscall in the future when it will execute this recipe. After that the RTS starts
2021-10-09 18:30:25 +0200 <peter71> evaluating a1 (building the recipe for a1). But then it will always _execute_ the a1 syscall before the a2 syscall. Or can the _execution_ of the a2 syscall hapen before the a2 syscall?
2021-10-09 18:31:46 +0200 <peter71> Sorry: *can execution of a2 happen before a1?
2021-10-09 18:31:59 +0200gaussrz(~gaussrz@59.78.13.186)
2021-10-09 18:34:19 +0200gaussrz(~gaussrz@59.78.13.186) (Client Quit)
2021-10-09 18:34:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-09 18:43:34 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-09 18:43:55 +0200arahael(~arahael@203-206-94-225.tpgi.com.au)
2021-10-09 18:47:28 +0200gaff(~gaff@49.207.203.220)
2021-10-09 18:48:14 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-09 18:49:26 +0200gaff(~gaff@49.207.203.220) (Client Quit)
2021-10-09 18:51:03 +0200 <hololeap> a2 requires the result of a1, so probably not, unless a2 just drops the result or something
2021-10-09 18:52:58 +0200 <hololeap> not sure if ((a1 >> a2) :: IO ()) always evaluates in the same order
2021-10-09 18:53:00 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 18:53:05 +0200 <int-e> unless you play games with unsafeInterleaveIO or unsafePerformIO the result doesn't really matter; the effects of a1 (including FFI calls) will take place before those of a2.
2021-10-09 18:54:22 +0200 <int-e> really ordering effects is the main point of IO (and its sibling, ST)
2021-10-09 18:54:37 +0200 <int-e> ordering and forcing effects, I should say
2021-10-09 18:54:37 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-09 18:56:14 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 260 seconds)
2021-10-09 18:56:17 +0200 <hololeap> I would also assume that State forces evaluation in the same order every time, since it has to thread a value through a specific ordering of actions
2021-10-09 18:57:31 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-10-09 18:58:02 +0200 <hololeap> unless one of the actions just ignores the previous value and sets it to something static... then I suppose it could split the evaluation at that point and do both pieces in parallel... if the compiler is smart enough to do that
2021-10-09 18:59:31 +0200 <int-e> > evalState (undefined >> return 42) undefined
2021-10-09 18:59:33 +0200 <lambdabot> 42
2021-10-09 18:59:55 +0200 <hololeap> evalState (undefined >>= return) undefined
2021-10-09 18:59:58 +0200 <hololeap> > evalState (undefined >>= return) undefined
2021-10-09 19:00:00 +0200 <lambdabot> *Exception: Prelude.undefined
2021-10-09 19:00:21 +0200machinedgod(~machinedg@24.105.81.50) (Quit: Lost terminal)
2021-10-09 19:00:22 +0200finsternis(~X@23.226.237.192)
2021-10-09 19:00:25 +0200chomwitt(~chomwitt@94.66.61.137)
2021-10-09 19:00:42 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-09 19:00:50 +0200 <hololeap> int-e: are you saying the Applicative instance of IO and ST force the evaluation order?
2021-10-09 19:00:58 +0200 <int-e> State is pretty lazy actually. And I need to remind myself what exactly is strict in the Control.Monad.State.Strict version of it.
2021-10-09 19:01:01 +0200 <int-e> hololeap: Yes
2021-10-09 19:01:11 +0200 <int-e> hololeap: I mean, no, I didn't say that. But they do.
2021-10-09 19:01:20 +0200 <hololeap> :)
2021-10-09 19:01:37 +0200beka(~beka@104.193.170.240)
2021-10-09 19:01:38 +0200machinedgod(~machinedg@24.105.81.50) (Client Quit)
2021-10-09 19:02:25 +0200 <hololeap> I think that the strict version of State immediately evaluates the argument of `put` instead of having it hang around in a thunk until `get` gets called
2021-10-09 19:03:40 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-09 19:04:21 +0200jakalx(~jakalx@base.jakalx.net)
2021-10-09 19:05:50 +0200 <int-e> I think the ...Strict variant is strict in the /actions/. So the example above bottoms out, but this works fine: evalState (modify undefined >> return undefined >> return 42) undefined
2021-10-09 19:06:56 +0200 <int-e> > evalState (modify' undefined >> return 42) undefined -- this would produce bottom with the .Strict variant
2021-10-09 19:06:57 +0200 <lambdabot> 42
2021-10-09 19:08:51 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 19:10:47 +0200mbuf(~Shakthi@122.178.225.141) (Remote host closed the connection)
2021-10-09 19:13:12 +0200jinsun(~quassel@user/jinsun)
2021-10-09 19:15:32 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 19:16:16 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c) (Remote host closed the connection)
2021-10-09 19:16:35 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-10-09 19:17:05 +0200DNH(~DNH@2a02:8108:1100:16d8:8019:716c:bcf7:99b0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-09 19:19:04 +0200Sgeo(~Sgeo@user/sgeo)
2021-10-09 19:19:28 +0200hendursaga(~weechat@user/hendursaga)
2021-10-09 19:21:06 +0200 <hololeap> % import qualified Control.Monad.Trans.State.Strict as SS
2021-10-09 19:21:06 +0200 <yahb> hololeap:
2021-10-09 19:21:28 +0200 <hololeap> % SS.evalState (SS.modify' undefined >> return 42) undefined
2021-10-09 19:21:28 +0200 <yahb> hololeap: *** Exception: Prelude.undefined; CallStack (from HasCallStack):; error, called at libraries/base/GHC/Err.hs:75:14 in base:GHC.Err; undefined, called at <interactive>:3:26 in interactive:Ghci4
2021-10-09 19:21:51 +0200 <hololeap> % SS.evalState (SS.modify' (error "e1") >> return 42) (error "e2")
2021-10-09 19:21:51 +0200 <yahb> hololeap: *** Exception: e1; CallStack (from HasCallStack):; error, called at <interactive>:4:27 in interactive:Ghci4
2021-10-09 19:22:00 +0200hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
2021-10-09 19:22:12 +0200__monty__(~toonn@user/toonn)
2021-10-09 19:22:29 +0200 <hololeap> % SS.evalState (SS.modify (error "e1") >> return 42) (error "e2")
2021-10-09 19:22:29 +0200 <yahb> hololeap: 42
2021-10-09 19:22:57 +0200 <hololeap> % SS.evalState (SS.put (error "e1") >> return 42) (error "e2")
2021-10-09 19:22:57 +0200 <yahb> hololeap: 42
2021-10-09 19:23:09 +0200 <hololeap> hm
2021-10-09 19:23:11 +0200 <hololeap> ok
2021-10-09 19:24:12 +0200 <hololeap> % SS.evalState (SS.put (error "e1") >> SS.get >> return 42) (error "e2")
2021-10-09 19:24:12 +0200 <yahb> hololeap: 42
2021-10-09 19:26:19 +0200xff0x(~xff0x@2001:1a81:528b:f000:ce9b:808a:c5c5:1eb1) (Ping timeout: 252 seconds)
2021-10-09 19:27:05 +0200xff0x(~xff0x@2001:1a81:528b:f000:94c9:4d64:7cd:883c)
2021-10-09 19:27:09 +0200 <peter71> hololeap: I don't think a1 >> a2 necessarily always evaluate in the same order but I hope a1 always gets executed first.
2021-10-09 19:27:49 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 245 seconds)
2021-10-09 19:28:44 +0200 <hippoid> I'm trying to figure out why `fmap.const` is of type `b -> f a -> f b`. I thought it would be `(b->a) -> f a -> f b`
2021-10-09 19:29:28 +0200chisui(~chisui@200116b868714200c6634ed5d4863e91.dip.versatel-1u1.de)
2021-10-09 19:29:42 +0200 <hololeap> hippoid: just follow the type signatures
2021-10-09 19:31:10 +0200 <hippoid> hololeap: I tried following the type signatures and working it out on paper, yet I don't see what's going on
2021-10-09 19:31:14 +0200 <hpc> start with (.)
2021-10-09 19:31:18 +0200 <hpc> :t (.)
2021-10-09 19:31:20 +0200 <lambdabot> (b -> c) -> (a -> b) -> a -> c
2021-10-09 19:31:26 +0200 <hpc> fill in fmap's type for the first argument
2021-10-09 19:31:31 +0200 <hpc> fill in const's type for the second argument
2021-10-09 19:31:32 +0200pie_(~pie_bnc@user/pie/x-2818909) (Quit: pie_)
2021-10-09 19:31:40 +0200 <hpc> and solve for a, b, c
2021-10-09 19:31:58 +0200 <hippoid> hpc: thanks, I'm going to try that
2021-10-09 19:32:07 +0200pie_(~pie_bnc@user/pie/x-2818909)
2021-10-09 19:32:22 +0200 <hpc> if you start with fmap, you're going to have trouble getting anywhere, since it's not actually the "root" of the expression
2021-10-09 19:32:34 +0200 <geekosaur> it alos helps to rename the variables since the a -> b -> a in const is different from the a, b, c in (.)
2021-10-09 19:33:28 +0200 <hololeap> fmap . const === \myVal myFunctor -> fmap (const myVal) myFunctor
2021-10-09 19:34:24 +0200 <hololeap> === \myVal myFunctor -> fmap (\_ -> myVal) myFunctor
2021-10-09 19:34:57 +0200 <hololeap> it also ends up just being (<$)
2021-10-09 19:34:57 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-09 19:35:00 +0200 <hololeap> :t (<$)
2021-10-09 19:35:01 +0200 <lambdabot> Functor f => a -> f b -> f a
2021-10-09 19:35:25 +0200MQ-17J(~MQ-17J@8.6.144.117)
2021-10-09 19:35:43 +0200 <hippoid> hpc: what does "root" of expresssion mean?
2021-10-09 19:36:08 +0200 <hpc> hippoid: imagine you're a compiler or parser or something, and you're given an expression
2021-10-09 19:36:17 +0200 <hpc> you parse it into a tree
2021-10-09 19:36:22 +0200 <hpc> and (.) here is the root of that tree
2021-10-09 19:36:33 +0200 <hpc> it has two leaf nodes, fmap and const
2021-10-09 19:36:56 +0200 <hippoid> ahhh, that makes sense
2021-10-09 19:37:45 +0200 <hololeap> > 4 <$ Just 10
2021-10-09 19:37:47 +0200 <lambdabot> Just 4
2021-10-09 19:38:15 +0200 <hololeap> it just replaces the value in the functor with the first value you give it
2021-10-09 19:39:08 +0200 <hpc> hololeap: don't give away the answer for free
2021-10-09 19:39:17 +0200 <hololeap> haha sorry
2021-10-09 19:39:20 +0200 <hpc> in #haskell we don't lead a horse to water, we teach a horse to fish
2021-10-09 19:39:33 +0200 <hololeap> lol
2021-10-09 19:43:19 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-09 19:43:56 +0200aegon(~mike@174.127.249.180)
2021-10-09 19:45:25 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 19:46:30 +0200rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed)
2021-10-09 19:46:52 +0200hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Quit: Ping timeout (120 seconds))
2021-10-09 19:47:03 +0200hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
2021-10-09 19:51:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-09 19:51:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-09 19:51:10 +0200wroathe(~wroathe@user/wroathe)
2021-10-09 19:57:56 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-10-09 19:59:26 +0200hendursaga(~weechat@user/hendursaga) (Remote host closed the connection)
2021-10-09 20:01:38 +0200wildsebastian(sid324688@id-324688.ilkley.irccloud.com)
2021-10-09 20:06:59 +0200hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Quit: Client closed)
2021-10-09 20:09:02 +0200ss4(~wootehfoo@user/wootehfoot)
2021-10-09 20:11:02 +0200 <maerwald> dhall doesn't even have string comparsion? ugh
2021-10-09 20:13:01 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 245 seconds)
2021-10-09 20:20:43 +0200notzmv(~zmv@user/notzmv)
2021-10-09 20:26:53 +0200fendor(~fendor@91.141.39.19.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-09 20:27:12 +0200fendor(~fendor@91.141.39.19.wireless.dyn.drei.com)
2021-10-09 20:27:28 +0200kawpuh(~kawpuh@66.42.81.80) (Quit: Ping timeout (120 seconds))
2021-10-09 20:27:33 +0200Nahra(~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection)
2021-10-09 20:27:39 +0200kawpuh(~kawpuh@66.42.81.80)
2021-10-09 20:27:49 +0200kaizen(sid501599@helmsley.irccloud.com) (Ping timeout: 245 seconds)
2021-10-09 20:27:49 +0200kristjansson_(sid126207@5.254.36.57) (Ping timeout: 245 seconds)
2021-10-09 20:27:55 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-09 20:27:57 +0200grfn(sid449115@helmsley.irccloud.com) (Read error: Connection reset by peer)
2021-10-09 20:28:06 +0200grfn(sid449115@id-449115.helmsley.irccloud.com)
2021-10-09 20:28:21 +0200Nahra(~user@static.161.95.99.88.clients.your-server.de)
2021-10-09 20:29:29 +0200hook54321(sid149355@user/hook54321) (Ping timeout: 245 seconds)
2021-10-09 20:29:40 +0200kuribas(~user@ptr-25vy0i70f4sqphtlqko.18120a2.ip6.access.telenet.be)
2021-10-09 20:30:15 +0200kaizen(sid501599@id-501599.helmsley.irccloud.com)
2021-10-09 20:30:27 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-09 20:30:31 +0200kristjansson_(sid126207@id-126207.tinside.irccloud.com)
2021-10-09 20:30:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 20:31:05 +0200max22-(~maxime@2a01cb08833598008b508600e86e399b.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2021-10-09 20:33:26 +0200hook54321(sid149355@user/hook54321)
2021-10-09 20:36:27 +0200T_S_(sid501726@uxbridge.irccloud.com) (Read error: Connection reset by peer)
2021-10-09 20:36:40 +0200T_S_(sid501726@id-501726.uxbridge.irccloud.com)
2021-10-09 20:37:21 +0200FragByte(~christian@user/fragbyte) (Quit: Quit)
2021-10-09 20:37:32 +0200FragByte(~christian@user/fragbyte)
2021-10-09 20:40:15 +0200pavonia(~user@user/siracusa)
2021-10-09 20:42:53 +0200pie_(~pie_bnc@user/pie/x-2818909) (Quit: No Ping reply in 180 seconds.)
2021-10-09 20:42:53 +0200VoidNoir0(~VoidNoir0@72.80.203.52) (Quit: Ping timeout (120 seconds))
2021-10-09 20:42:53 +0200fjmorazan(~quassel@user/fjmorazan) (Ping timeout: 245 seconds)
2021-10-09 20:43:14 +0200Eoco(~ian@x-160-94-179-157.acm.umn.edu) (Ping timeout: 245 seconds)
2021-10-09 20:43:30 +0200Eoco(~ian@x-160-94-179-157.acm.umn.edu)
2021-10-09 20:44:15 +0200pie_(~pie_bnc@user/pie/x-2818909)
2021-10-09 20:47:21 +0200peter71(~a@p200300ef971a68c8e4ca7f30fbe64496.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1)
2021-10-09 20:48:33 +0200ss4(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2021-10-09 20:50:59 +0200 <dsal> I really wanted to like Dhall. It seemed to do all the things I wanted.
2021-10-09 20:51:26 +0200 <dsal> At least, like it could. There's that new one that looks like JSON. I didn't look into it that much because I'm pretty sure it's just differently disappointing.
2021-10-09 20:52:56 +0200lavaman(~lavaman@98.38.249.169)
2021-10-09 20:55:52 +0200 <sm> was that https://hackage.haskell.org/package/config-schema dsal ?
2021-10-09 20:56:03 +0200 <sm> https://glguy.net/config-demo rather
2021-10-09 20:57:34 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-09 20:58:25 +0200max22-(~maxime@2a01cb08833598006e737bbcf6bcf547.ipv6.abo.wanadoo.fr)
2021-10-09 21:02:15 +0200chisui(~chisui@200116b868714200c6634ed5d4863e91.dip.versatel-1u1.de) (Ping timeout: 256 seconds)
2021-10-09 21:04:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-09 21:10:04 +0200wildsebastian(sid324688@id-324688.ilkley.irccloud.com) ()
2021-10-09 21:12:39 +0200wildsebastian[m](~wildsebas@2001:470:69fc:105::1:14b1)
2021-10-09 21:14:28 +0200Farzad(~FarzadBek@46.100.116.53) (Quit: Leaving)
2021-10-09 21:15:01 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-09 21:15:18 +0200hendursaga(~weechat@user/hendursaga)
2021-10-09 21:20:08 +0200 <maerwald> new aeson release already breaking lots of packages... :D
2021-10-09 21:21:31 +0200 <awpr> presumably this is one that addresses the lack of salting? I didn't hear what resolution they ended up choosing
2021-10-09 21:22:12 +0200 <maerwald> an API breaking solution that abstracts over 'KeyMap'
2021-10-09 21:23:24 +0200 <awpr> so packages are broken by version bounds rejecting 2.0, or by incorrect version bounds and failing to compile?
2021-10-09 21:23:32 +0200 <maerwald> both
2021-10-09 21:23:41 +0200fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-09 21:24:52 +0200 <maerwald> conversion isn't really hard
2021-10-09 21:24:58 +0200wildsebastian[m]wildsebastian
2021-10-09 21:26:00 +0200 <maerwald> but you know... getting maintainers to actually patch it is
2021-10-09 21:28:05 +0200 <awpr> I don't think any of my packages have aeson deps, but I'll double-check
2021-10-09 21:28:43 +0200wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1) (Quit: Reconnecting)
2021-10-09 21:28:48 +0200 <aegon> I'm trying to figure out a way to encode unique message id's -> message type for encoding / decoding a messageID / Bytestring pair but I'm not sure what extensions will get me there.
2021-10-09 21:28:54 +0200 <aegon> Here's the current thing I'm running with
2021-10-09 21:28:57 +0200wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1)
2021-10-09 21:28:57 +0200 <aegon> https://paste.tomsmeding.com/qsCMpGYA
2021-10-09 21:29:13 +0200otulp(~otulp@ti0187q162-3172.bb.online.no)
2021-10-09 21:31:31 +0200 <geekosaur> no aeson deps in xmonad, not even in -extras
2021-10-09 21:40:03 +0200 <sm> I'll ask this here too: a practical haskell puzzle: how would you play a continuous sound, and vary the volume dynamically while it plays ?
2021-10-09 21:40:16 +0200 <fuzzypixelz> is it just me or is stack build/test very slow?
2021-10-09 21:40:45 +0200 <sm> fuzzypixelz: that entirely depends, but --fast is a quick way to speed it up a bit
2021-10-09 21:41:02 +0200 <maerwald> fuzzypixelz: that's a pretty generic question
2021-10-09 21:41:10 +0200 <maerwald> slow compared to what?
2021-10-09 21:41:50 +0200 <sm> are you talking about installing-ghc-and-libs-before-building-my-thing, or just rebuilding-my-thing ?
2021-10-09 21:42:29 +0200 <fuzzypixelz> compared to GHC? I'm only depending on Text and Megaparsec and stack run takes about 8 seconds _every time_, even after minor changes
2021-10-09 21:42:36 +0200 <fuzzypixelz> just rebuilding
2021-10-09 21:43:01 +0200 <sm> is it recompiling something ? or is this just a constant startup delay ?
2021-10-09 21:43:07 +0200 <fuzzypixelz> to be fair I have all my lib in a 300 liner
2021-10-09 21:43:34 +0200 <fuzzypixelz> but I did not know about --fast so I'll check it out
2021-10-09 21:43:38 +0200 <kuribas> Does quickcheck try small values first, or is it completely random?
2021-10-09 21:43:51 +0200 <fuzzypixelz> yes it's recompiling the ... 300 lines of my Lib.hs
2021-10-09 21:44:09 +0200ec(~ec@gateway/tor-sasl/ec)
2021-10-09 21:44:15 +0200 <sm> is the compilation taking 8 seconds ? or the linking ?
2021-10-09 21:45:43 +0200 <sm> you can avoid the slow linking step by using ghcid [-T main] instead of stack build/test/run
2021-10-09 21:48:39 +0200tv(~tv@user/tv) (Ping timeout: 245 seconds)
2021-10-09 21:49:04 +0200 <fuzzypixelz> I'd say the compilation is the one taking the longest. with --fast I'm down to 3-4 secs
2021-10-09 21:49:29 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 245 seconds)
2021-10-09 21:49:35 +0200 <fuzzypixelz> once the compilation is over the linking is almost instant
2021-10-09 21:50:16 +0200barrucadu(~barrucadu@carcosa.barrucadu.co.uk)
2021-10-09 21:50:25 +0200 <sm> ok, you could experiment with your source to see what's slow - it might be something you could change
2021-10-09 21:50:34 +0200 <fuzzypixelz> if I do split my code into multiple source files, will I benefit from unchanged compiled parts
2021-10-09 21:50:35 +0200 <sm> or a known slow case for your ghc version, which a different ghc version might handle better
2021-10-09 21:50:35 +0200 <fuzzypixelz> ?
2021-10-09 21:50:45 +0200 <sm> yes
2021-10-09 21:50:48 +0200tv(~tv@user/tv)
2021-10-09 21:50:55 +0200jumper149(~jumper149@80.240.31.34) (Ping timeout: 252 seconds)
2021-10-09 21:51:06 +0200mei(~mei@user/mei) (Quit: mei)
2021-10-09 21:51:40 +0200 <sm> are you generating a lot of code with derive or TH, perhaps
2021-10-09 21:51:40 +0200 <fuzzypixelz> hmm, where can I read up on on module system? I've always put it off
2021-10-09 21:51:59 +0200jumper149(~jumper149@80.240.31.34)
2021-10-09 21:52:11 +0200 <fuzzypixelz> oh I have derive Eq on all my types
2021-10-09 21:52:11 +0200 <sm> the haskell language report I guess
2021-10-09 21:52:22 +0200 <fuzzypixelz> TH?
2021-10-09 21:52:33 +0200 <sm> that doesn't sound slow, but worth comparing without it.. TH is template haskell
2021-10-09 21:53:10 +0200 <geekosaur> Eq should be pretty fast since it generates very little code
2021-10-09 21:53:27 +0200 <geekosaur> Generic's the really slow derive
2021-10-09 21:54:40 +0200 <sm> regarding my sound question, would anyone have an example or a (penetrable) lib for synthesizng audio in a streaming way ?
2021-10-09 21:56:24 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-10-09 21:57:32 +0200the_proffesor(~theproffe@user/theproffesor)
2021-10-09 22:00:20 +0200 <hololeap> sm: there's the synthesizer-* packages, but I couldn't wrap my head around them last time I tried
2021-10-09 22:00:36 +0200 <fuzzypixelz> is there a variant of zipWith that only cosumes two elements if they both satisfy some predicate?
2021-10-09 22:00:40 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-10-09 22:01:11 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-09 22:01:26 +0200 <fuzzypixelz> as in zipWith___ :: (a -> b -> Maybe c) -> [a] -> [b] -> [c]
2021-10-09 22:01:41 +0200 <sm> thanks
2021-10-09 22:01:44 +0200 <fuzzypixelz> no that doesn't make sense
2021-10-09 22:01:52 +0200 <sm> likewise with sox lib
2021-10-09 22:05:16 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 252 seconds)
2021-10-09 22:06:19 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-09 22:06:28 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 22:07:00 +0200juhp(~juhp@128.106.188.220)
2021-10-09 22:07:41 +0200 <dsal> :t catMaybes . zipWith
2021-10-09 22:07:42 +0200 <lambdabot> error:
2021-10-09 22:07:42 +0200 <lambdabot> • Couldn't match type ‘[a] -> [b] -> [c]’ with ‘[Maybe a1]’
2021-10-09 22:07:42 +0200 <lambdabot> Expected type: (a -> b -> c) -> [Maybe a1]
2021-10-09 22:07:55 +0200 <dsal> Oh right. Something like that, though.
2021-10-09 22:10:22 +0200 <maerwald> sm: did you check your aeson bounds? :>
2021-10-09 22:11:11 +0200 <sm> some adjustments now needed, eh ?
2021-10-09 22:11:18 +0200kimjetwav(~user@2607:fea8:235f:9730:44bb:5259:c248:1d7c) (Ping timeout: 260 seconds)
2021-10-09 22:11:25 +0200 <maerwald> if you access the Object Hashmap
2021-10-09 22:11:53 +0200 <sm> thanks, we shall see!
2021-10-09 22:12:29 +0200 <maerwald> sm: https://paste.tomsmeding.com/WUjkytRu
2021-10-09 22:12:39 +0200 <maerwald> there are some examples
2021-10-09 22:12:53 +0200acidjnk(~acidjnk@p200300d0c703cb057cbb8d7fdd6e5a46.dip0.t-ipconnect.de)
2021-10-09 22:12:55 +0200 <sm> thanks maerwald
2021-10-09 22:13:23 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-09 22:13:35 +0200 <hololeap> :t \f xs ys -> filter (\(x,y) -> f x y) (zip xs ys) -- fuzzypixelz
2021-10-09 22:13:36 +0200 <lambdabot> (t1 -> t2 -> Bool) -> [t1] -> [t2] -> [(t1, t2)]
2021-10-09 22:13:47 +0200machinedgod(~machinedg@24.105.81.50)
2021-10-09 22:13:51 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 245 seconds)
2021-10-09 22:14:06 +0200d34df00d(~d34df00d@2600:1700:8c60:3a10::48)
2021-10-09 22:14:11 +0200 <d34df00d> Hi!
2021-10-09 22:14:28 +0200 <geekosaur> œ
2021-10-09 22:14:36 +0200 <sm> folks here might enjoy https://news.ycombinator.com/item?id=28794614 (small haskell compilers)
2021-10-09 22:14:41 +0200 <hololeap> there's also padZip from the semialign package if the lists are of different lengths
2021-10-09 22:14:54 +0200 <d34df00d> What's the library of choice nowadays to quickly plot logarithmic time distribution of some performance measurements?
2021-10-09 22:15:07 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-09 22:15:07 +0200 <d34df00d> I typically use Charts for that, but last time I did that was a year or two ago and I've forgotten its API again.
2021-10-09 22:16:26 +0200 <aegon> d34df00d: vega-lite seems pretty good, but its the only lib i've used so there are prolly better out there
2021-10-09 22:17:01 +0200 <d34df00d> aegon: yay, never heard of that, thanks!
2021-10-09 22:17:32 +0200 <zero> is it possible to preserve color when running :!commands in ghci?
2021-10-09 22:17:36 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 245 seconds)
2021-10-09 22:17:52 +0200qwedfg(~qwedfg@user/qwedfg) (Read error: Connection reset by peer)
2021-10-09 22:18:26 +0200xff0x(~xff0x@2001:1a81:528b:f000:94c9:4d64:7cd:883c) (Ping timeout: 245 seconds)
2021-10-09 22:18:29 +0200 <aegon> d34df00d: np, happy library travels :)
2021-10-09 22:18:38 +0200 <geekosaur> --color=always option for those commands that support it
2021-10-09 22:19:06 +0200 <geekosaur> I think :! always goes though a pager so most commands will refuse to use colors
2021-10-09 22:19:14 +0200 <aegon> d34df00d: this is a good run down https://hackage.haskell.org/package/hvega-0.4.0.0/docs/Graphics-Vega-Tutorials-VegaLite.html
2021-10-09 22:19:17 +0200xff0x(~xff0x@2001:1a81:528b:f000:e4dd:6ceb:f4d5:b9b2)
2021-10-09 22:19:32 +0200 <zero> geekosaur: oh that's my mistake. im piping the output to less
2021-10-09 22:19:39 +0200 <zero> so this is more a less question
2021-10-09 22:19:42 +0200 <zero> sorry
2021-10-09 22:20:07 +0200 <geekosaur> you still need something like --colors=always because otherwise the command will not output colors at all
2021-10-09 22:20:18 +0200 <awpr> well, ghci also prevents shell commands from having color. maybe it's a ghci feature request to launch shell commands via a pty?
2021-10-09 22:20:21 +0200 <geekosaur> there's also a less option to make it try to understand the color escapes
2021-10-09 22:20:57 +0200 <geekosaur> awpr, it shouldn't need one normally since it'd be outputting to the current tty. unless, as I said, it pipes output to a pager anyway
2021-10-09 22:21:02 +0200nl3dee(~nl3dee@ns388898.ip-176-31-255.eu) (Ping timeout: 245 seconds)
2021-10-09 22:21:05 +0200 <hololeap> aegon: isn't vega some jupyter thing?
2021-10-09 22:21:09 +0200 <sm> d34df00d: easyplot was mentioned yesterday. There's also r things if you're into r
2021-10-09 22:21:29 +0200 <awpr> it evidently creates a pipe to talk to the subprocess, since it makes them default to no-color
2021-10-09 22:21:55 +0200qwedfg(~qwedfg@user/qwedfg)
2021-10-09 22:21:59 +0200 <awpr> or maybe you mean "normally" as in "if it's doing things in the traditional way", in which case, it apparently isn't
2021-10-09 22:23:00 +0200 <aegon> easyplot seems way simpler to use. hololeap possibly, i first ran into it working with hasktorch and that group is used to jupyter tools
2021-10-09 22:23:27 +0200 <aegon> hololeap: it doesn't seem to have any hard ties though, i read it like a d3 style tool https://vega.github.io/vega-lite/
2021-10-09 22:25:14 +0200 <aegon> outputting html seems overboard for simple graphs though, gonna read through easyplot, sounds like a better go-to for simple graphs
2021-10-09 22:25:40 +0200 <sm> hvega is the one if you want pretty charts I think
2021-10-09 22:25:48 +0200 <geekosaur> I think it's less -m to interpret escapes
2021-10-09 22:26:01 +0200 <idnar> -R
2021-10-09 22:26:09 +0200 <geekosaur> ah
2021-10-09 22:27:53 +0200 <hololeap> aegon: ok, I just got confused last time I looked into that whole ecosystem
2021-10-09 22:28:53 +0200f-a(f2a@f2a.jujube.ircnow.org) ()
2021-10-09 22:30:21 +0200 <sm> d34df00d: and there's also command-line tools like https://github.com/GregorySchwartz/ploterific
2021-10-09 22:32:34 +0200 <d34df00d> Yay, thank you for the pointers!
2021-10-09 22:32:42 +0200 <d34df00d> Onwards to making charts!
2021-10-09 22:33:55 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 250 seconds)
2021-10-09 22:35:34 +0200acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de)
2021-10-09 22:39:33 +0200acidjnk(~acidjnk@p200300d0c703cb057cbb8d7fdd6e5a46.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-10-09 22:40:06 +0200jaitoon(~Jaitoon@188.241.156.2)
2021-10-09 22:41:01 +0200 <jaitoon> Hello, I have a question. If lists in Haskell are immutable, then why does the "length" function take linear time? Shouldn't the size be set and stored when the list is defined if it's immutable? Why would we need to traverse the whole linked list?
2021-10-09 22:41:25 +0200awth13(~awth13@user/awth13) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-09 22:41:40 +0200bbear(~znc@21212.s.t4vps.eu) (Quit: ZNC 1.7.4 - https://znc.in)
2021-10-09 22:41:41 +0200awth13(~awth13@user/awth13)
2021-10-09 22:41:48 +0200 <geekosaur> who says the size is stored anywhere?
2021-10-09 22:41:59 +0200 <geekosaur> also that's not quite what "immutable" means
2021-10-09 22:42:03 +0200bbear(~znc@21212.s.t4vps.eu)
2021-10-09 22:42:20 +0200 <awpr> also, who says the size is finite?
2021-10-09 22:42:24 +0200shailangsa(~shailangs@host217-39-45-200.range217-39.btcentralplus.com) (Killed (NickServ (GHOST command used by shailangsa_)))
2021-10-09 22:43:21 +0200 <awpr> supposing you were to define lists s.t. they cache their size (which is a reasonable thing to want in some cases), then the size would be problematic for `let yes = "yes" : yes in yes`
2021-10-09 22:44:05 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 245 seconds)
2021-10-09 22:44:29 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
2021-10-09 22:44:29 +0200 <aegon> jaitoon: if you want linear time and more c like lists for some domain theres Vector and Sequence
2021-10-09 22:44:36 +0200lambdabot(~lambdabot@silicon.int-e.eu)
2021-10-09 22:44:36 +0200lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2021-10-09 22:44:36 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2021-10-09 22:45:20 +0200 <awpr> so, storing the size on the head of the list would make lists less useful as a streaming control structure, and more useful as a data structure. the problem is, they're still awful as a data structure, and they're meant to be good as a control structure
2021-10-09 22:46:02 +0200 <fuzzypixelz> is there is a function/operator to take two f :: a -> Bool and g :: a -> Bool and return h :: a -> Bool s.t. "h a == f a || g a" ?
2021-10-09 22:46:36 +0200 <d34df00d> awpr: ideally finite lists and infinite lists would be separate entities, because data and codata and all that.
2021-10-09 22:46:42 +0200Morrow(~Morrow@176.12.156.255)
2021-10-09 22:47:30 +0200brainfreeze(~brainfree@2a03:1b20:4:f011::20d)
2021-10-09 22:47:30 +0200 <fuzzypixelz> But maybe again just a lambda is simpler
2021-10-09 22:47:42 +0200 <monochrom> I gave an exam question about "so you want a finite list type to store its own length..."
2021-10-09 22:47:50 +0200the_proffesor(~theproffe@user/theproffesor) (Leaving)
2021-10-09 22:48:15 +0200euandreh(~euandreh@2804:14c:33:9fe5:9d95:c71:11e4:3e0f) (Quit: WeeChat 3.2)
2021-10-09 22:48:34 +0200euandreh(~euandreh@2804:14c:33:9fe5:9d95:c71:11e4:3e0f)
2021-10-09 22:48:51 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-09 22:48:53 +0200 <Morrow[m]> fuzzypixelz: liftA2 (||)
2021-10-09 22:49:12 +0200 <sm> can a haskell program test at runtime if a C lib is present, and then dynamically load it and start using it if so ?
2021-10-09 22:50:04 +0200 <sm> also, relatedly: how hard would it be to make stack/cabal's script interpreter mode also able to download C libraries ?
2021-10-09 22:50:05 +0200 <aegon> sm: yes but i forget the library
2021-10-09 22:50:09 +0200peter71(~a@p200300ef971a68c8e4ca7f30fbe64496.dip0.t-ipconnect.de)
2021-10-09 22:50:23 +0200 <aegon> sm: er, the module, i think theres info in ghcs user docs
2021-10-09 22:50:34 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-10-09 22:50:40 +0200 <sm> aegon, thanks
2021-10-09 22:50:53 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-09 22:51:15 +0200 <aegon> sm: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/shared_libs.html#finding-shared-lib…
2021-10-09 22:51:23 +0200fjmorazan(~quassel@user/fjmorazan)
2021-10-09 22:52:07 +0200 <aegon> sm: theres a module that does dynamic loading and then can give handles to functions given a symbol and all that jazz but I'm having trouble finding it, hopefully someone can link in the channel
2021-10-09 22:52:17 +0200 <sm> nice! I'm thinking about using this to depend on say SDL-mixer but degrade gracefully when it's not installed
2021-10-09 22:52:48 +0200 <sclv> sm: https://hackage.haskell.org/package/dynamic-linker-template
2021-10-09 22:52:57 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 22:56:13 +0200 <sm> thanks!
2021-10-09 22:59:15 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-09 22:59:27 +0200kuribas(~user@ptr-25vy0i70f4sqphtlqko.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-10-09 22:59:45 +0200 <aegon> sm, this is the jumping off point I found when looking into it last time https://wiki.haskell.org/Foreign_Function_Interface#Dynamic_function_call has a ton of info on all that stuff
2021-10-09 22:59:50 +0200 <geekosaur> sm, re downloading, the problem there is coming up with a registry of such libraries. or if you want to use youyr system package manager, first you have to figure out which package manager the system uses, then the package name which may not be the same as the C library, then you need some way to do installs as root…
2021-10-09 23:01:07 +0200 <sm> yes indeed. Still I wonder how far one could get - perhaps just a few high value C libs, perhaps just certain on OS's/with certain system packaging tools available
2021-10-09 23:01:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-09 23:02:06 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-10-09 23:02:33 +0200 <aegon> i can't tell, does ghc support dynamic linking on windows at the moment? it looks like maybe not
2021-10-09 23:03:55 +0200 <aegon> i mean importing dll's on windows at runtime vai LoadLibrary etc, it looks like its only support in *nix land
2021-10-09 23:04:35 +0200 <geekosaur> I have a vague recollection of LoadLibrary breaking badly on Windows when they tried it
2021-10-09 23:05:20 +0200 <sm> ah. Yes that sounds rather likely
2021-10-09 23:05:40 +0200 <sm> that would be the first platform to test
2021-10-09 23:05:49 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-09 23:05:49 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-09 23:05:49 +0200wroathe(~wroathe@user/wroathe)
2021-10-09 23:06:17 +0200 <sm> another though is to use conditional compilation (CPP), if that works in a stack script
2021-10-09 23:06:24 +0200 <sm> thought
2021-10-09 23:07:03 +0200 <geekosaur> something about having to link in a separate libc for the dynamic libraries, and then any heap-stored CRT stuff breaks
2021-10-09 23:07:09 +0200 <geekosaur> iirc
2021-10-09 23:08:47 +0200falafel(~falafel@2603-8000-d800-688c-f8c4-fecf-5832-bdd3.res6.spectrum.com)
2021-10-09 23:11:04 +0200coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-09 23:11:31 +0200 <fuzzypixelz> I wrote something kind of ugly, using `takeWhile1P (\c -> c `elem' ['a'..'z'] || c == '.')` but because I don't care for the dots, I want to drop them so I `filter (\= '.')`
2021-10-09 23:12:56 +0200 <sm> no, I think CPP does not work in a stack script
2021-10-09 23:12:57 +0200 <fuzzypixelz> I read through https://hackage.haskell.org/package/parser-combinators-1.3.0/docs/Control-Monad-Combinators.html but there doesn't seem to be any combinator(s) for "takeIfPelseifQdrop""
2021-10-09 23:13:44 +0200 <fuzzypixelz> chaining filter and takWhileP works but maybe it could be better?
2021-10-09 23:13:52 +0200 <sm> it doesn't like the shebang line. A pity.
2021-10-09 23:18:21 +0200smthinks about sdl2-foo-compat libs that would always build
2021-10-09 23:18:47 +0200 <aegon> geekosaur: :( Thats rough, reading up on it doesn't give me much hope for dynamic loading to work out on windows
2021-10-09 23:19:02 +0200shailangsa(~shailangs@host217-39-45-200.range217-39.btcentralplus.com)
2021-10-09 23:19:19 +0200beka(~beka@104.193.170.240) (Read error: Connection reset by peer)
2021-10-09 23:19:52 +0200 <aegon> but then if one were to make a haskell game engine you couldn't really define a clean seperation point for character or game mode logic to be reimplimented externally for mods
2021-10-09 23:20:46 +0200aegoncries in the corner and makes more coffee to smother the existential despair
2021-10-09 23:20:47 +0200 <sm> how do you mean aegon ?
2021-10-09 23:21:46 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-10-09 23:21:46 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2021-10-09 23:21:58 +0200 <sm> oh, you're thinking about plugin user modules written in haskell to be loaded by game
2021-10-09 23:22:17 +0200 <aegon> quake 3 had a cool trick where it defined functions for the core engine to call to play out game logic, modders could do crazy stuff with mods because it didn't have to be handled by some engine scripting language, they could literally write new dll's / so's that implemented the exposed functions to be loaded at runtime and durastically extend or change engine behavior for their mod
2021-10-09 23:22:23 +0200 <aegon> yeah
2021-10-09 23:22:47 +0200 <aegon> i was hoping someday to experiment with recreating that sort of thing in haskell, but the windows issue is a new found roadblock
2021-10-09 23:22:57 +0200 <sm> I'm just trying to have basic sound working for some people without making the app completely uninstallable
2021-10-09 23:23:10 +0200 <aegon> i didn't do my research thoroughly enough, stopped at finding a LoadLibrary path for *nix
2021-10-09 23:23:10 +0200hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
2021-10-09 23:24:19 +0200 <sm> there's the xmonad (and hledger, kind of) solution: make your mod the top level app, have it call the engine
2021-10-09 23:25:42 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-09 23:28:12 +0200 <aegon> thats an interesting work around. Theo nly extra thing that imposes is that if the "mod" was implemented in a differnt language and compiled down you'd need to load the ghc runtime in that and manage its lifecycle
2021-10-09 23:28:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-09 23:30:21 +0200 <aegon> i've never tried going that direction (external language -> haskell module). If everything is written in haskell the module as the top level seems the same. Anyone have experience trying to run some haskell code from c or similar war stories :)
2021-10-09 23:31:59 +0200Morrow(~Morrow@176.12.156.255) (Ping timeout: 250 seconds)
2021-10-09 23:33:31 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-09 23:35:29 +0200 <sm> realistically, I think a haskell game would use lua as its extension language
2021-10-09 23:35:38 +0200 <sm> like pandoc
2021-10-09 23:36:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-09 23:36:17 +0200 <sm> until we have an easily-embeddable haskellscript
2021-10-09 23:37:59 +0200 <geekosaur> there is a mechanism for running Haskell from C
2021-10-09 23:38:01 +0200falafel(~falafel@2603-8000-d800-688c-f8c4-fecf-5832-bdd3.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-10-09 23:38:17 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-10-09 23:38:34 +0200 <geekosaur> the basics are documented in the H2010 Report, ghc's additions are in its user guide
2021-10-09 23:42:28 +0200jgeerds(~jgeerds@55d4da80.access.ecotel.net)
2021-10-09 23:42:36 +0200DNH(~DNH@2a02:8108:1100:16d8:6451:5847:fe72:2ba1)
2021-10-09 23:43:13 +0200falafel(~falafel@2603-8000-d800-688c-f8c4-fecf-5832-bdd3.res6.spectrum.com)
2021-10-09 23:45:49 +0200 <fuzzypixelz> I found (in Megaparsec.Char.Lexer) this: `data SP = SP !Integer {-# UNPACK #-} !Int`
2021-10-09 23:46:16 +0200 <fuzzypixelz> what are the '!' before the types and the UNPACK extension for ?
2021-10-09 23:46:23 +0200 <fuzzypixelz> https://hackage.haskell.org/package/megaparsec-9.2.0/docs/src/Text.Megaparsec.Char.Lexer.html#dotD…
2021-10-09 23:48:22 +0200 <aegon> fuzzypixelz: strictness annotations and using raw literals i think
2021-10-09 23:48:48 +0200 <geekosaur> UNPACK means the value is stored directly instead of storing a pointer to it
2021-10-09 23:48:49 +0200 <aegon> (no thunks or wrappers, like a struct by value)
2021-10-09 23:48:52 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-09 23:49:01 +0200 <aegon> i'm wrong :P
2021-10-09 23:49:42 +0200 <fuzzypixelz> does UNPACK only apply to the first value?
2021-10-09 23:49:45 +0200 <geekosaur> it only works with simple values (one constructor, and I think it can only have one field as well?)
2021-10-09 23:49:50 +0200 <fuzzypixelz> or .. the second?
2021-10-09 23:49:50 +0200justsomeguy(~justsomeg@user/justsomeguy) (Client Quit)
2021-10-09 23:50:15 +0200 <geekosaur> the UNPACK comes before the value to be unpacked. you'd need multiple UNPACK pragmas to unpack multiple fields
2021-10-09 23:50:39 +0200 <fuzzypixelz> and ... what about the !s
2021-10-09 23:50:53 +0200 <geekosaur> anyway this is just an implementation detail that doesn't change usage, just does some manual optimization
2021-10-09 23:51:14 +0200 <fuzzypixelz> oh alright so I don't care for it then
2021-10-09 23:51:21 +0200 <geekosaur> those indicate the field is strict (evaluated immediately when stored, instead of possibly storing a pointer to a computation that produces the final value)
2021-10-09 23:51:23 +0200 <fuzzypixelz> still, would be nice to know
2021-10-09 23:51:42 +0200 <geekosaur> which is what aegon meant by "thunk"
2021-10-09 23:52:18 +0200awpradds another bullet point to his imaginary "why we should think about making a Haskell Syntax 2.0" list
2021-10-09 23:52:20 +0200 <geekosaur> basically thunks are how laziness happens: the pointer to a "value" can instead be a pointer to code that computes the value when it's needed
2021-10-09 23:52:35 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 265 seconds)
2021-10-09 23:52:47 +0200 <fuzzypixelz> you mean if I say `SP (2+3) (sum [1..]) it will immediatly start counting instead of later when I want my SP ?
2021-10-09 23:53:06 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-09 23:53:07 +0200 <awpr> it could be called Haskell 2077, because: a) that's when it'd be ready, b) it'd be full of bugs at launch, and c) it'd be very futuristic
2021-10-09 23:53:17 +0200 <geekosaur> fuzzypixelz, yes
2021-10-09 23:53:25 +0200 <geekosaur> which means it would hang
2021-10-09 23:53:45 +0200 <geekosaur> you have to be fairly careful in the presence of strictness
2021-10-09 23:54:11 +0200 <geekosaur> usually we don't annotate things, and the compiler will try to figure out what should be made strict
2021-10-09 23:54:16 +0200 <fuzzypixelz> well strictness is the enemy of laziness afterall
2021-10-09 23:54:17 +0200 <awpr> wait, I think the answer is no: "later when I want my SP", i.e. when you force the SP, is when it'd be evaluated
2021-10-09 23:54:20 +0200 <geekosaur> but sometimes you need to give it some help
2021-10-09 23:54:54 +0200 <geekosaur> the strictness annotation should be applied when the SP is built,m not when it is demanded
2021-10-09 23:55:07 +0200 <awpr> but it doesn't make the SP be forced when it otherwise wouldn't be
2021-10-09 23:55:28 +0200 <awpr> it just makes it so that forcing the SP constructor also forces the fields
2021-10-09 23:55:37 +0200 <aegon> fuzzypixelz: $! is similar but for expressions if you run into it later
2021-10-09 23:55:57 +0200bradyt(~bradyt@user/bradyt)
2021-10-09 23:56:03 +0200bradyt(~bradyt@user/bradyt) ()
2021-10-09 23:56:11 +0200Morrow(~Morrow@176.12.156.255)
2021-10-09 23:57:23 +0200 <awpr> actually my phrasing was a bit misleading: it makes it so that forcing the thunk that evaluates to an SP constructor must also involve forcing the fields so that they can have been put into that SP constructor
2021-10-09 23:57:48 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)