2024/03/22

2024-03-22 00:02:24 +0100Square(~Square@user/square) (Ping timeout: 255 seconds)
2024-03-22 00:05:13 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 246 seconds)
2024-03-22 00:09:08 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2024-03-22 00:12:52 +0100michalz(~michalz@185.246.207.205) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-22 00:16:02 +0100acidjnk(~acidjnk@p200300d6e70d3f0395d202079165b1b5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-03-22 00:16:16 +0100mmhat(~mmh@p200300f1c706a2c7ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-22 00:17:20 +0100otto_s(~user@p5de2faee.dip0.t-ipconnect.de) (Quit: Lost terminal)
2024-03-22 00:17:53 +0100otto_s(~user@p5de2faee.dip0.t-ipconnect.de)
2024-03-22 00:20:21 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-03-22 00:23:21 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-22 00:28:30 +0100xff0x(~xff0x@ai082039.d.east.v6connect.net) (Ping timeout: 255 seconds)
2024-03-22 00:35:14 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-03-22 00:38:14 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds)
2024-03-22 00:44:38 +0100 <pie_> Axman6: thanks!
2024-03-22 00:45:23 +0100[Leary](~Leary]@user/Leary/x-0910699)
2024-03-22 00:51:21 +0100xff0x(~xff0x@2405:6580:b080:900:42bc:ad6f:b5c1:444)
2024-03-22 00:51:39 +0100oneeyedalien_(~oneeyedal@user/oneeyedalien)
2024-03-22 00:54:26 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Ping timeout: 264 seconds)
2024-03-22 00:55:33 +0100pepexan(~oscar@153.27.165.83.dynamic.reverse-mundo-r.com)
2024-03-22 00:57:57 +0100pepexan(~oscar@153.27.165.83.dynamic.reverse-mundo-r.com) ()
2024-03-22 01:01:24 +0100pepexan(~oscar@153.27.165.83.dynamic.reverse-mundo-r.com)
2024-03-22 01:01:34 +0100pepexan(~oscar@153.27.165.83.dynamic.reverse-mundo-r.com) ()
2024-03-22 01:07:28 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-22 01:10:22 +0100ph88(~ph88@2a02:8109:9e26:c800:d1f0:3a71:f873:943f) (Remote host closed the connection)
2024-03-22 01:13:33 +0100leungbk(~user@104-032-221-175.res.spectrum.com)
2024-03-22 01:18:26 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 264 seconds)
2024-03-22 01:22:08 +0100kimiamania(~7da15a40@user/kimiamania) (Quit: PegeLinux)
2024-03-22 01:22:58 +0100kimiamania(~671c7418@user/kimiamania)
2024-03-22 01:23:18 +0100ryanbooker(uid4340@id-4340.hampstead.irccloud.com)
2024-03-22 01:27:26 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-03-22 01:28:03 +0100rvalue(~rvalue@user/rvalue)
2024-03-22 01:29:52 +0100mei(~mei@user/mei)
2024-03-22 02:21:14 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-03-22 02:33:58 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2024-03-22 02:34:59 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2024-03-22 02:35:29 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-22 02:38:47 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving)
2024-03-22 02:43:11 +0100connrs(~connrs@user/connrs) (Ping timeout: 264 seconds)
2024-03-22 02:54:21 +0100mima(~mmh@aftr-62-216-211-224.dynamic.mnet-online.de) (Ping timeout: 252 seconds)
2024-03-22 03:04:20 +0100connrs(~connrs@user/connrs)
2024-03-22 03:04:33 +0100justsomeguy(~justsomeg@user/justsomeguy)
2024-03-22 03:05:38 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds)
2024-03-22 03:05:53 +0100 <dmj`> jle`: o/ hmm, I don't think there's any general way to perform lowering for any (a :: k) in base (unless its like natVal / symbolVal, which have their own special lowering classes, which aren't general ofc).
2024-03-22 03:06:12 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-03-22 03:09:28 +0100 <dmj`> would like to be proved wrong tho
2024-03-22 03:10:51 +0100benkard(~mulk@p5b112e7d.dip0.t-ipconnect.de)
2024-03-22 03:12:19 +0100mulk(~mulk@p5b2dc99c.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-03-22 03:12:19 +0100benkardmulk
2024-03-22 03:14:50 +0100xff0x(~xff0x@2405:6580:b080:900:42bc:ad6f:b5c1:444) (Ping timeout: 264 seconds)
2024-03-22 03:28:29 +0100otto_s(~user@p5de2faee.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2024-03-22 03:30:14 +0100otto_s(~user@p4ff277d6.dip0.t-ipconnect.de)
2024-03-22 03:31:45 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2024-03-22 03:38:19 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-22 03:42:53 +0100lbseale(~quassel@user/ep1ctetus) (Ping timeout: 240 seconds)
2024-03-22 03:44:04 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-03-22 03:44:39 +0100lbseale(~quassel@user/ep1ctetus)
2024-03-22 03:48:44 +0100oneeyedalien_(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-03-22 03:59:35 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-03-22 04:00:13 +0100leungbk(~user@104-032-221-175.res.spectrum.com) (Remote host closed the connection)
2024-03-22 04:00:54 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
2024-03-22 04:02:59 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
2024-03-22 04:19:55 +0100ddellacosta(~ddellacos@ool-44c73d16.dyn.optonline.net)
2024-03-22 04:26:29 +0100bilegeek(~bilegeek@2600:1008:b083:d0bf:8bb:651f:a1a1:6a4d)
2024-03-22 04:36:25 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2024-03-22 04:45:01 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2024-03-22 04:45:35 +0100td_(~td@i53870901.versanet.de) (Ping timeout: 264 seconds)
2024-03-22 04:47:01 +0100td_(~td@i5387092D.versanet.de)
2024-03-22 04:47:10 +0100thalia(uid486183@id-486183.uxbridge.irccloud.com)
2024-03-22 04:50:00 +0100notzmv(~daniel@user/notzmv)
2024-03-22 04:50:43 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-03-22 04:54:18 +0100mmhat(~mmh@p200300f1c706a2c7ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-03-22 04:56:51 +0100thaliathaliaa
2024-03-22 04:59:19 +0100 <jle`> dmj`: o/ thanks. maybe i feel like it should be possible in ghc in theory
2024-03-22 04:59:48 +0100 <jle`> as in it could maybe be implemented
2024-03-22 05:04:26 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-03-22 05:04:44 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-03-22 05:07:36 +0100 <jackdk> What if you had a typelevel version of generics?
2024-03-22 05:09:39 +0100aforemny(~aforemny@2001:9e8:6ce7:be00:a07f:df32:373b:9c12)
2024-03-22 05:11:03 +0100aforemny_(~aforemny@2001:9e8:6cc4:b700:b374:8656:8acd:5fb8) (Ping timeout: 260 seconds)
2024-03-22 05:36:40 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Remote host closed the connection)
2024-03-22 05:46:31 +0100down200(~down200@shell.lug.mtu.edu) (Quit: ZNC - https://znc.in)
2024-03-22 05:47:17 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-22 05:50:40 +0100down200(~down200@shell.lug.mtu.edu)
2024-03-22 05:56:39 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-03-22 06:04:46 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-03-22 06:07:53 +0100igemnace(~ian@user/igemnace)
2024-03-22 06:12:24 +0100mechap(~mechap@user/mechap) (Ping timeout: 260 seconds)
2024-03-22 06:19:59 +0100notzmv(~daniel@user/notzmv) (Read error: Connection reset by peer)
2024-03-22 06:26:52 +0100tv(~tv@user/tv) (Ping timeout: 268 seconds)
2024-03-22 06:33:03 +0100ryanbooker(uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-22 06:33:08 +0100renpose(~renpose@user/renpose)
2024-03-22 06:35:58 +0100oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-03-22 06:36:05 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Max SendQ exceeded)
2024-03-22 06:36:34 +0100oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-03-22 06:39:11 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Max SendQ exceeded)
2024-03-22 06:39:39 +0100oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-03-22 06:40:53 +0100tv(~tv@user/tv)
2024-03-22 06:42:36 +0100hc(~hc@mail.hce.li) (Remote host closed the connection)
2024-03-22 06:45:39 +0100michalz(~michalz@185.246.207.205)
2024-03-22 06:50:33 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-03-22 07:01:53 +0100zetef(~quassel@5.2.182.99)
2024-03-22 07:12:41 +0100dcoutts_(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
2024-03-22 07:12:50 +0100bilegeek(~bilegeek@2600:1008:b083:d0bf:8bb:651f:a1a1:6a4d) (Quit: Leaving)
2024-03-22 07:13:04 +0100dcoutts_(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-03-22 07:19:21 +0100son0p(~ff@167.0.168.212) (Ping timeout: 255 seconds)
2024-03-22 07:27:52 +0100Inst_(~Inst@120.244.192.126)
2024-03-22 07:29:20 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-03-22 07:29:59 +0100euleritian(~euleritia@dynamic-046-114-092-064.46.114.pool.telefonica.de)
2024-03-22 07:30:35 +0100Inst(~Inst@120.244.192.27) (Ping timeout: 260 seconds)
2024-03-22 07:32:02 +0100euleritian(~euleritia@dynamic-046-114-092-064.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-22 07:32:19 +0100euleritian(~euleritia@77.22.252.56)
2024-03-22 07:40:50 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-03-22 07:46:52 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2024-03-22 07:47:02 +0100euleritian(~euleritia@77.22.252.56) (Ping timeout: 268 seconds)
2024-03-22 07:48:01 +0100euleritian(~euleritia@dynamic-046-114-092-064.46.114.pool.telefonica.de)
2024-03-22 07:54:24 +0100vnogueira_(~vnogueira@user/vnogueira)
2024-03-22 07:57:18 +0100vnogueira(~vnogueira@user/vnogueira) (Ping timeout: 260 seconds)
2024-03-22 08:01:11 +0100qqq(~qqq@92.43.167.61) (Ping timeout: 264 seconds)
2024-03-22 08:01:14 +0100acidjnk(~acidjnk@p200300d6e70d3f76ac4c8c7b0af5042c.dip0.t-ipconnect.de)
2024-03-22 08:08:52 +0100germ(~quassel@user/mipsel3) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-03-22 08:09:28 +0100CiaoSen(~Jura@2a05:5800:290:ef00:e6b9:7aff:fe80:3d03)
2024-03-22 08:10:30 +0100germ(~quassel@50.39.179.7)
2024-03-22 08:14:56 +0100sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net)
2024-03-22 08:16:59 +0100germ(~quassel@50.39.179.7) (Changing host)
2024-03-22 08:16:59 +0100germ(~quassel@user/mipsel3)
2024-03-22 08:18:02 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-03-22 08:19:43 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-03-22 08:21:09 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-03-22 08:21:16 +0100tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2024-03-22 08:22:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-03-22 08:23:01 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2024-03-22 08:31:56 +0100jle`(~jle`@2603-8001-3b02-84d4-a4df-d2e6-33cd-3e89.res6.spectrum.com) (Ping timeout: 260 seconds)
2024-03-22 08:32:51 +0100jle`(~jle`@2603-8001-3b02-84d4-e36f-d1aa-df97-c5e9.res6.spectrum.com)
2024-03-22 08:35:18 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-03-22 08:41:00 +0100euphores(~SASL_euph@user/euphores) (Read error: Connection reset by peer)
2024-03-22 08:41:50 +0100euphores(~SASL_euph@user/euphores)
2024-03-22 08:50:13 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
2024-03-22 08:56:41 +0100danza(~francesco@ba-19-158-240.service.infuturo.it)
2024-03-22 09:04:12 +0100sayola(~sayola@ip-109-42-241-236.web.vodafone.de) (Read error: Connection reset by peer)
2024-03-22 09:04:56 +0100zetef(~quassel@5.2.182.99) (Remote host closed the connection)
2024-03-22 09:09:49 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-22 09:10:02 +0100mrvdb(~mrvdb@185.92.221.186) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-22 09:15:03 +0100vpan(~vpan@212.117.1.172)
2024-03-22 09:23:01 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-03-22 09:29:01 +0100mima(~mmh@aftr-62-216-211-172.dynamic.mnet-online.de)
2024-03-22 09:29:09 +0100son0p(~ff@152.202.62.108)
2024-03-22 09:37:53 +0100Inst_Inst
2024-03-22 09:38:33 +0100euleritian(~euleritia@dynamic-046-114-092-064.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-22 09:39:27 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-22 09:45:26 +0100zetef(~quassel@5.2.182.99)
2024-03-22 09:49:39 +0100danza(~francesco@ba-19-158-240.service.infuturo.it) (Ping timeout: 260 seconds)
2024-03-22 10:08:54 +0100chele(~chele@user/chele)
2024-03-22 10:10:26 +0100__monty__(~toonn@user/toonn)
2024-03-22 10:11:15 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2024-03-22 10:13:01 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-03-22 10:15:01 +0100zetef(~quassel@5.2.182.99) (Remote host closed the connection)
2024-03-22 10:15:46 +0100gmg(~user@user/gehmehgeh)
2024-03-22 10:28:58 +0100ft(~ft@p508db238.dip0.t-ipconnect.de) (Quit: leaving)
2024-03-22 10:31:40 +0100igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-03-22 10:41:12 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-22 10:47:40 +0100sroso(~sroso@user/SrOso)
2024-03-22 10:48:40 +0100igemnace(~ian@user/igemnace)
2024-03-22 10:52:12 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 255 seconds)
2024-03-22 10:52:54 +0100rvalue(~rvalue@user/rvalue)
2024-03-22 10:59:57 +0100sayola(~sayola@ip-109-42-241-236.web.vodafone.de)
2024-03-22 11:02:12 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 252 seconds)
2024-03-22 11:04:57 +0100rvalue(~rvalue@user/rvalue)
2024-03-22 11:07:02 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds)
2024-03-22 11:07:45 +0100mechap(~mechap@user/mechap)
2024-03-22 11:19:40 +0100mik3d(~mik3d@pool-173-61-131-199.cmdnnj.fios.verizon.net)
2024-03-22 11:21:51 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2024-03-22 11:21:54 +0100tremon(~tremon@83.80.159.219)
2024-03-22 11:22:56 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-03-22 11:24:24 +0100danse-nr3(~danse@151.47.207.20)
2024-03-22 11:25:02 +0100_xor4(~xor@ip-208-102-243-175.dynamic.fuse.net)
2024-03-22 11:26:50 +0100_xor(~xor@ip-208-102-243-175.dynamic.fuse.net) (Ping timeout: 264 seconds)
2024-03-22 11:26:50 +0100_xor4_xor
2024-03-22 11:32:05 +0100CiaoSen(~Jura@2a05:5800:290:ef00:e6b9:7aff:fe80:3d03) (Ping timeout: 256 seconds)
2024-03-22 11:39:31 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
2024-03-22 11:49:23 +0100mik3d(~mik3d@pool-173-61-131-199.cmdnnj.fios.verizon.net) (Read error: Connection reset by peer)
2024-03-22 11:51:46 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-03-22 11:51:51 +0100vpan(~vpan@212.117.1.172) (Quit: Leaving.)
2024-03-22 11:53:48 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2024-03-22 12:01:45 +0100mechap(~mechap@user/mechap) (Ping timeout: 272 seconds)
2024-03-22 12:09:35 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-03-22 12:10:09 +0100ec(~ec@gateway/tor-sasl/ec)
2024-03-22 12:11:34 +0100lvdv(~lvdv@203.7.118.37)
2024-03-22 12:16:52 +0100sroso(~sroso@user/SrOso) (Quit: Leaving :))
2024-03-22 12:19:08 +0100danse-nr3(~danse@151.47.207.20) (Ping timeout: 256 seconds)
2024-03-22 12:24:20 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
2024-03-22 12:24:29 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-03-22 12:26:55 +0100swamp_(~zmt00@user/zmt00) (Ping timeout: 260 seconds)
2024-03-22 12:29:12 +0100mei(~mei@user/mei)
2024-03-22 12:29:45 +0100ph88(~ph88@2a02:8109:9e26:c800:e5ad:5837:1dbd:508c)
2024-03-22 12:30:05 +0100 <ph88> does deriving Show instances slow down code ?
2024-03-22 12:32:58 +0100 <int-e> By what mechanism? I mean it'll slow down compilation; it may produce extra code so it can affect how code is cached... other than that, I don't think so? Unless you're comparing it to manually written Show instances I guess.
2024-03-22 12:33:01 +0100 <ski> slow down which code ?
2024-03-22 12:33:52 +0100 <ph88> other code in the program on runtime
2024-03-22 12:33:53 +0100renpose(~renpose@user/renpose) (Quit: Client closed)
2024-03-22 12:35:51 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-03-22 12:37:13 +0100 <tomsmeding> not in any obvious ways, but anything might affect anything else once you're concerned about cache effects
2024-03-22 12:37:21 +0100 <tomsmeding> at which point basically your only option is "profile"
2024-03-22 12:37:43 +0100 <tomsmeding> but that's also the point where changing anything anywhere might change anything because code alignment changes or whatever
2024-03-22 12:39:18 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it)
2024-03-22 12:40:07 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it) (Remote host closed the connection)
2024-03-22 12:40:30 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it)
2024-03-22 12:43:05 +0100mechap(~mechap@user/mechap)
2024-03-22 12:53:20 +0100mmhat(~mmh@p200300f1c706a2c7ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-22 12:56:21 +0100hugo-(znc@quicksilver.lysator.liu.se) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
2024-03-22 12:58:39 +0100ddellacosta(~ddellacos@ool-44c73d16.dyn.optonline.net) (Ping timeout: 255 seconds)
2024-03-22 13:05:57 +0100mrvdb(~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5)
2024-03-22 13:06:00 +0100omegatron(~some@user/omegatron)
2024-03-22 13:09:43 +0100hugo-(znc@quicksilver.lysator.liu.se)
2024-03-22 13:10:04 +0100migas97(~migas@static.140.65.63.178.clients.your-server.de) (Quit: Ping timeout (120 seconds))
2024-03-22 13:10:17 +0100migas97(~migas@static.140.65.63.178.clients.your-server.de)
2024-03-22 13:18:55 +0100CiaoSen(~Jura@2a05:5800:290:ef00:e6b9:7aff:fe80:3d03)
2024-03-22 13:20:04 +0100xff0x(~xff0x@ai082039.d.east.v6connect.net)
2024-03-22 13:34:59 +0100germgermtoo
2024-03-22 13:35:44 +0100germtoogerm
2024-03-22 13:35:52 +0100germmipseb
2024-03-22 13:36:32 +0100mipsebgerm
2024-03-22 13:36:41 +0100germgermtoo
2024-03-22 13:55:22 +0100 <tomsmeding> I love that the interleaving you get when writing to a Handle from multiple threads is deterministic https://paste.tomsmeding.com/3TbWyDKD
2024-03-22 14:00:27 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-03-22 14:10:22 +0100 <ph88> does anyone use the ghci debugger actually? i never found i could actually use it to get some practical debugging done and always resolve to Debug.Trace
2024-03-22 14:11:19 +0100 <int-e> ph88: same here but I'm not sure whether it's an old habit that is good enough or an actual shortcoming of the ghci debugger
2024-03-22 14:14:09 +0100 <int-e> I've never seriously tried to use the ghci debugger. Heck, I just had to look up that the command that shows partially evaluated values is :print.
2024-03-22 14:15:34 +0100 <sadie_> i've used it a couple times to try and find non-terminating loops but i found that the profiling tools are way better at that
2024-03-22 14:15:39 +0100 <int-e> (Which is the one feature I actually remember playing around with a few times because it's something that Debug.Trace cannot do at all.)
2024-03-22 14:15:44 +0100 <tomsmeding> wasn't that :sprint
2024-03-22 14:16:39 +0100 <int-e> tomsmeding: :sprint is like :print but less verbose? the s is "simplified"
2024-03-22 14:16:46 +0100 <tomsmeding> oh
2024-03-22 14:16:56 +0100 <tomsmeding> maybe that's why it never did what I wanted it to do?
2024-03-22 14:16:57 +0100 <int-e> there's :force if you want to force a value and print it.
2024-03-22 14:17:09 +0100tomsmedinghas never seriously tried to use this stuff
2024-03-22 14:20:16 +0100 <int-e> I wouldn't know this if I hadn't just looked at the command list :)
2024-03-22 14:21:17 +0100 <ph88> https://github.com/haskell/haskell-language-server/issues/1906
2024-03-22 14:24:17 +0100 <ph88> https://github.com/haskell/haskell-language-server/discussions/3042 https://github.com/phoityne/haskell-debug-adapter maybe i ought to try that see if the experience improves
2024-03-22 14:25:41 +0100zmt00(~zmt00@user/zmt00)
2024-03-22 14:29:11 +0100mmhat(~mmh@p200300f1c706a2c7ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-03-22 14:29:35 +0100mmhat(~mmh@p200300f1c706a2a9ee086bfffe095315.dip0.t-ipconnect.de)
2024-03-22 14:38:27 +0100mechap(~mechap@user/mechap) (Quit: WeeChat 4.2.1)
2024-03-22 14:43:00 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-03-22 14:50:23 +0100sayola1(~sayola@ip-109-42-242-92.web.vodafone.de)
2024-03-22 14:51:41 +0100sayola(~sayola@ip-109-42-241-236.web.vodafone.de) (Ping timeout: 256 seconds)
2024-03-22 14:56:57 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2024-03-22 14:59:15 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it) (Ping timeout: 255 seconds)
2024-03-22 15:03:39 +0100Sgeo(~Sgeo@user/sgeo)
2024-03-22 15:03:59 +0100zzidun(~zzidun@user/zzidun)
2024-03-22 15:05:16 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it)
2024-03-22 15:05:48 +0100zzidun(~zzidun@user/zzidun) (Quit: Client closed)
2024-03-22 15:25:39 +0100notzmv(~daniel@user/notzmv)
2024-03-22 15:29:08 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-03-22 15:29:45 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-22 15:33:55 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-03-22 15:34:41 +0100euleritian(~euleritia@dynamic-046-114-095-193.46.114.pool.telefonica.de)
2024-03-22 15:38:57 +0100omegatron(~some@user/omegatron) (Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.)
2024-03-22 15:40:48 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2024-03-22 15:51:27 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-03-22 15:58:54 +0100oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
2024-03-22 16:01:44 +0100ht_(~Thunderbi@194.110.115.57)
2024-03-22 16:01:48 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Ping timeout: 255 seconds)
2024-03-22 16:01:48 +0100ht__ht
2024-03-22 16:04:42 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it) (Ping timeout: 256 seconds)
2024-03-22 16:08:01 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
2024-03-22 16:08:27 +0100rosco(~rosco@175.136.155.53)
2024-03-22 16:10:08 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it)
2024-03-22 16:10:23 +0100driib(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2024-03-22 16:16:10 +0100driib(~driib@vmi931078.contaboserver.net)
2024-03-22 16:24:49 +0100 <dmj`> jle`: I bet you're right, at the very least there could be a generic deriving made to lower types that data kinds have lifted
2024-03-22 16:28:26 +0100euleritian(~euleritia@dynamic-046-114-095-193.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-22 16:28:43 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-22 16:29:25 +0100Lycurgus(~georg@user/Lycurgus)
2024-03-22 16:31:57 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-22 16:34:48 +0100ht_(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-03-22 16:35:00 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-22 16:36:37 +0100_ht(~Thunderbi@194.110.115.57) (Ping timeout: 272 seconds)
2024-03-22 16:36:37 +0100ht__ht
2024-03-22 16:40:28 +0100danse-nr3(~danse@ba-19-137-133.service.infuturo.it) (Read error: Connection reset by peer)
2024-03-22 16:41:52 +0100danse-nr3(~danse@151.47.198.180)
2024-03-22 16:44:35 +0100ft(~ft@p508db238.dip0.t-ipconnect.de)
2024-03-22 16:49:11 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-22 16:50:20 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-03-22 16:50:47 +0100danse-nr3(~danse@151.47.198.180) (Remote host closed the connection)
2024-03-22 16:50:49 +0100euleritian(~euleritia@dynamic-046-114-095-193.46.114.pool.telefonica.de)
2024-03-22 16:52:34 +0100danse-nr3(~danse@151.47.198.180)
2024-03-22 16:55:29 +0100euleritian(~euleritia@dynamic-046-114-095-193.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2024-03-22 16:55:48 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-22 17:07:54 +0100CiaoSen(~Jura@2a05:5800:290:ef00:e6b9:7aff:fe80:3d03) (Ping timeout: 268 seconds)
2024-03-22 17:11:15 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-03-22 17:15:48 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-03-22 17:22:49 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-03-22 17:23:13 +0100chaouki25(~chaouki@160.178.198.145)
2024-03-22 17:25:14 +0100chaouki25(~chaouki@160.178.198.145) (Client Quit)
2024-03-22 17:29:50 +0100destituion(~destituio@2a02:2121:655:c95b:4730:b7f0:4100:2e91) (Ping timeout: 264 seconds)
2024-03-22 17:30:45 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-03-22 17:31:11 +0100destituion(~destituio@85.221.111.174)
2024-03-22 17:32:11 +0100tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-03-22 17:33:19 +0100Cattycatties
2024-03-22 17:34:06 +0100cattiesCatty
2024-03-22 17:35:26 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-03-22 17:35:27 +0100destituion(~destituio@85.221.111.174) (Ping timeout: 256 seconds)
2024-03-22 17:35:34 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-03-22 17:37:15 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-22 17:38:24 +0100target_i(~target_i@user/target-i/x-6023099)
2024-03-22 17:40:44 +0100destituion(~destituio@2a02:2121:655:c95b:2f9:dc47:aa7f:309)
2024-03-22 17:42:36 +0100Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2024-03-22 17:44:24 +0100danse-nr3(~danse@151.47.198.180) (Ping timeout: 255 seconds)
2024-03-22 17:46:42 +0100rosco(~rosco@175.136.155.53) (Quit: Lost terminal)
2024-03-22 17:50:23 +0100son0p(~ff@152.202.62.108) (Ping timeout: 264 seconds)
2024-03-22 17:53:42 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2024-03-22 18:12:29 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com) (Read error: Connection reset by peer)
2024-03-22 18:15:29 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com)
2024-03-22 18:16:11 +0100kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 264 seconds)
2024-03-22 18:16:31 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2024-03-22 18:19:28 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-03-22 18:29:11 +0100igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-03-22 18:41:07 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com) (Read error: Connection reset by peer)
2024-03-22 18:43:18 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com)
2024-03-22 18:46:40 +0100 <hololeap> I'm trying to understand lazy pattern matching in IO. my intention for this block of code is that it will only run listDirectory when it matches 'e' as True: https://bpa.st/7NEQ
2024-03-22 18:47:20 +0100 <hololeap> will this code behave the way I intend it to?
2024-03-22 18:47:38 +0100 <ncf> no
2024-03-22 18:47:42 +0100sadie_(~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection)
2024-03-22 18:49:23 +0100 <hololeap> umm... why not? what's wrong here
2024-03-22 18:49:53 +0100 <mauke> e is already "lazy"/irrefutable
2024-03-22 18:50:01 +0100 <mauke> ~e is just e again
2024-03-22 18:50:42 +0100 <hololeap> ok, so ~e should be changed to e and then it will behave the way I want it to?
2024-03-22 18:50:44 +0100 <mauke> (for any variable e, such as cs)
2024-03-22 18:50:48 +0100 <mauke> no
2024-03-22 18:51:07 +0100 <ncf> if you want short-circuiting you should use a monadic boolean operator, like liftIO $ doesDirectoryExist d &&^ (notNull <$> listDirectory d)
2024-03-22 18:51:14 +0100 <mauke> why do you think it would make a difference when I just told you ~e is the same as e?
2024-03-22 18:51:26 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-03-22 18:51:47 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com) (Read error: Connection reset by peer)
2024-03-22 18:51:50 +0100 <hololeap> the crucial part is (for any variable e, such as cs), which you hadn't said yet...
2024-03-22 18:52:14 +0100 <mauke> ?
2024-03-22 18:52:41 +0100 <hololeap> ?
2024-03-22 18:52:58 +0100 <mauke> I don't see how that's an answer to my question
2024-03-22 18:53:19 +0100 <hololeap> this is getting rediculous
2024-03-22 18:53:47 +0100 <mauke> anyway, the point is that ... <- listDirectory is what causes listDirectory to run, not anything happening to the result later
2024-03-22 18:54:19 +0100 <mauke> there is evil magic that allows for this sort of "lazy I/O", but it's not related to pattern matching
2024-03-22 18:54:20 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-22 18:54:46 +0100target_i(~target_i@user/target-i/x-6023099)
2024-03-22 18:56:47 +0100 <mauke> (also, it's "ridiculous", which is quite a silly word considering that it's Latin, and English uses the Germanic "laugh" for everything else)
2024-03-22 18:57:05 +0100 <hololeap> omg the pedantry is off the charts here. I'm going to move to #haskell-beginners
2024-03-22 18:59:45 +0100 <mauke> hololeap: even if you fix the control flow, that code has a race condition (TOC/TOU)
2024-03-22 19:00:02 +0100notzmv(~daniel@user/notzmv) (Ping timeout: 255 seconds)
2024-03-22 19:00:37 +0100 <mauke> I'd recommend doing listDirectory and catching isDoesNotExistError
2024-03-22 19:00:54 +0100 <haskellbridge> <s​m> or #haskell:matrix.org. But yes! It's r*i*diculous :)
2024-03-22 19:01:16 +0100 <int-e> mauke: but if you worry about that you cannot use this whole function in any meaningful way
2024-03-22 19:01:23 +0100 <mauke> oh, there is "risible", but no one says that
2024-03-22 19:01:38 +0100 <int-e> (that I can think of)
2024-03-22 19:01:47 +0100 <ncf> risible : ridiculous :: laughable : ?
2024-03-22 19:01:57 +0100 <ncf> laughabulous
2024-03-22 19:02:22 +0100 <int-e> because the function is itself a check which presumably is used under the assumption that the directory will continue to be non-empty later.
2024-03-22 19:03:26 +0100 <mauke> blargh, why is the unix directory API so awful
2024-03-22 19:03:42 +0100 <int-e> because of POSIX?
2024-03-22 19:03:48 +0100 <haskellbridge> <s​m> hysterical raisins
2024-03-22 19:04:00 +0100 <mauke> no, POSIX is after the fact
2024-03-22 19:04:33 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-22 19:05:29 +0100 <mauke> I'm talking about the unix API, not Haskell stuff specifically
2024-03-22 19:05:38 +0100 <int-e> ah
2024-03-22 19:05:56 +0100 <int-e> sorry, I thought it was the haskell package :)
2024-03-22 19:06:11 +0100oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Quit: oo_miguel)
2024-03-22 19:06:23 +0100 <ncf> hololeap: (you don't have to actually use (&&^), you can just inline its definition. exercise: write its definition)
2024-03-22 19:06:29 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-03-22 19:06:43 +0100 <ncf> (&&^) :: Monad m => m Bool -> m Bool -> m Bool
2024-03-22 19:07:29 +0100 <mauke> what package is that from?
2024-03-22 19:07:36 +0100 <ncf> like a dozen of them
2024-03-22 19:07:49 +0100 <mauke> import 12
2024-03-22 19:08:02 +0100 <int-e> @hackage (&&^)
2024-03-22 19:08:02 +0100 <lambdabot> https://hackage.haskell.org/package/(&&^)
2024-03-22 19:08:09 +0100 <int-e> err
2024-03-22 19:08:13 +0100 <int-e> @hoogle (&&^)
2024-03-22 19:08:13 +0100 <lambdabot> Control.Monad.Extra (&&^) :: Monad m => m Bool -> m Bool -> m Bool
2024-03-22 19:08:13 +0100 <lambdabot> Extra (&&^) :: Monad m => m Bool -> m Bool -> m Bool
2024-03-22 19:08:13 +0100 <lambdabot> Protolude (&&^) :: Monad m => m Bool -> m Bool -> m Bool
2024-03-22 19:08:14 +0100 <mauke> haha
2024-03-22 19:09:07 +0100 <mauke> do you happen to know how readdir() is supposed to behave in the presence of a concurrent process modifying the directory?
2024-03-22 19:09:09 +0100 <ncf> it goes by other names too: and2M
2024-03-22 19:09:50 +0100 <int-e> @hackage extra
2024-03-22 19:09:50 +0100 <lambdabot> https://hackage.haskell.org/package/extra
2024-03-22 19:09:53 +0100 <int-e> (found one of them)
2024-03-22 19:09:59 +0100 <ncf> i wonder what an appropriate generalisation of this would be. perhaps over an arbitrary semiring?
2024-03-22 19:10:47 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-03-22 19:10:49 +0100 <ncf> or monoid-with-left-annihilator, whatever that's called
2024-03-22 19:10:58 +0100euleritian(~euleritia@77.22.252.56)
2024-03-22 19:13:22 +0100 <ncf> found more names: andLazy, (<&&>)
2024-03-22 19:13:25 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-03-22 19:13:43 +0100 <ncf> (&&&), (<&=>)
2024-03-22 19:16:51 +0100destituion(~destituio@2a02:2121:655:c95b:2f9:dc47:aa7f:309) (Ping timeout: 272 seconds)
2024-03-22 19:17:29 +0100destituion(~destituio@84.208.69.255)
2024-03-22 19:19:28 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-03-22 19:27:27 +0100Square(~Square@user/square)
2024-03-22 19:29:00 +0100euphores(~SASL_euph@user/euphores) (Read error: Connection reset by peer)
2024-03-22 19:31:45 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-22 19:34:35 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2024-03-22 19:37:42 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-22 19:38:19 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Max SendQ exceeded)
2024-03-22 19:38:51 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-03-22 19:39:33 +0100euphores(~SASL_euph@user/euphores)
2024-03-22 19:43:02 +0100destituion(~destituio@84.208.69.255) (Ping timeout: 264 seconds)
2024-03-22 19:44:30 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-03-22 19:46:44 +0100destituion(~destituio@2a02:2121:655:c95b:88d4:b861:7bfd:c1a4)
2024-03-22 19:53:09 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-22 20:00:47 +0100son0p(~ff@152.203.80.45)
2024-03-22 20:02:12 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-03-22 20:06:51 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-03-22 20:14:37 +0100Me-me(~me-me@user/me-me) (Remote host closed the connection)
2024-03-22 20:17:26 +0100Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d)
2024-03-22 20:20:55 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-03-22 20:35:41 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-03-22 20:46:05 +0100Guest52(~Guest52@185.57.29.142)
2024-03-22 20:55:06 +0100esph(~weechat@user/esph)
2024-03-22 20:57:00 +0100motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2024-03-22 20:59:46 +0100kaskal(~kaskal@89.144.222.47) (Ping timeout: 268 seconds)
2024-03-22 20:59:52 +0100kaskal-(~kaskal@089144220117.atnat0029.highway.webapn.at)
2024-03-22 21:01:29 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com)
2024-03-22 21:02:10 +0100dhruvasagar(~dhruvasag@49.207.210.202)
2024-03-22 21:07:54 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com) (Remote host closed the connection)
2024-03-22 21:08:24 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com)
2024-03-22 21:12:54 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-03-22 21:13:48 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-03-22 21:19:05 +0100dhruvasagar(~dhruvasag@49.207.210.202) (Quit: WeeChat 4.2.1)
2024-03-22 21:19:29 +0100dhruvasagar(~dhruvasag@49.207.210.202)
2024-03-22 21:20:36 +0100dhruvasagar(~dhruvasag@49.207.210.202) (Client Quit)
2024-03-22 21:20:56 +0100dhruvasagar(~dhruvasag@49.207.210.202)
2024-03-22 21:23:34 +0100michalz(~michalz@185.246.207.205) (Quit: ZNC 1.8.2 - https://znc.in)
2024-03-22 21:26:09 +0100bilegeek(~bilegeek@2600:1008:b04f:ac16:241:4e7b:fce9:569f)
2024-03-22 21:28:02 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-03-22 21:28:32 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-03-22 21:33:21 +0100dhruvasagar(~dhruvasag@49.207.210.202) (Quit: WeeChat 4.2.1)
2024-03-22 21:34:11 +0100dhruvasagar(~dhruvasag@49.207.210.202)
2024-03-22 21:34:26 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds)
2024-03-22 21:35:31 +0100dhruvasagar(~dhruvasag@49.207.210.202) (Client Quit)
2024-03-22 21:35:59 +0100bilegeek(~bilegeek@2600:1008:b04f:ac16:241:4e7b:fce9:569f) (Read error: Connection reset by peer)
2024-03-22 21:36:49 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-03-22 21:37:54 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-03-22 21:38:13 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-03-22 21:48:14 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-22 21:49:33 +0100tessier(~treed@ip72-220-57-194.sd.sd.cox.net) (Ping timeout: 252 seconds)
2024-03-22 21:51:07 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
2024-03-22 21:58:59 +0100tv(~tv@user/tv) (Ping timeout: 272 seconds)
2024-03-22 22:00:31 +0100bilegeek(~bilegeek@2600:1008:b04f:ac16:241:4e7b:fce9:569f)
2024-03-22 22:02:52 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-03-22 22:09:19 +0100 <shapr> Wow, I just spent days finding this bug
2024-03-22 22:09:40 +0100 <shapr> As far as I can tell, one of the `shrink` definitions is return the same value, claiming it's a shrunk value
2024-03-22 22:10:08 +0100 <shapr> also as far as I can tell, Test.Hspec.QuickCheck does not have a default value for max shrinks
2024-03-22 22:10:39 +0100 <shapr> combined, that means any failing case would spin forever and never return
2024-03-22 22:11:36 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com) (Remote host closed the connection)
2024-03-22 22:11:44 +0100tv(~tv@user/tv)
2024-03-22 22:12:08 +0100 <haskellbridge> <s​m> ouch
2024-03-22 22:12:28 +0100 <haskellbridge> <s​m> shouldn't the test framework detect that
2024-03-22 22:12:31 +0100qeef(~qeef@138-169-143-94.cust.centrio.cz)
2024-03-22 22:12:31 +0100qeef(~qeef@138-169-143-94.cust.centrio.cz) (Client Quit)
2024-03-22 22:12:46 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com)
2024-03-22 22:12:56 +0100qeef(~qeef@138-169-143-94.cust.centrio.cz)
2024-03-22 22:12:56 +0100 <shapr> I don't know, should it?
2024-03-22 22:13:25 +0100 <haskellbridge> <s​m> if it can, I think it should. Sounds like it doesn't!
2024-03-22 22:14:00 +0100 <haskellbridge> <s​m> and/or it should have some hard limit
2024-03-22 22:14:15 +0100 <haskellbridge> <s​m> and/or it should have some upper limit
2024-03-22 22:14:47 +0100 <shapr> If there isn't already a default value for maxShrinks in Test.Hspec.QuickCheck, I will put up a pull request to create one
2024-03-22 22:15:25 +0100 <shapr> Another fix could a shrink wrapper that checks for previously return values?
2024-03-22 22:15:47 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-03-22 22:16:02 +0100 <haskellbridge> <s​m> yeah, you'd think it could compare previous and next value
2024-03-22 22:16:24 +0100 <shapr> that wouldn't find a cycle, but it would catch the simplest case
2024-03-22 22:17:03 +0100 <haskellbridge> <s​m> ah, true
2024-03-22 22:30:29 +0100 <tomsmeding> Arbitrary doesn't have Eq as a superclass
2024-03-22 22:32:27 +0100 <glguy> shapr: which shrink default implementation does that?
2024-03-22 22:32:57 +0100 <tomsmeding> QuickCheck has Args.maxShrinks
2024-03-22 22:34:06 +0100 <shapr> glguy: pretty sure it's one of the hand written shrink definitions in this library
2024-03-22 22:34:14 +0100 <shapr> aka, it's likely my own fault
2024-03-22 22:35:07 +0100 <tomsmeding> shapr: and the default value for maxShrinks is maxBound :: Int
2024-03-22 22:38:23 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds)
2024-03-22 22:38:37 +0100 <shapr> ohhh
2024-03-22 22:38:52 +0100 <shapr> tomsmeding: is that from hspec or quickcheck?
2024-03-22 22:39:47 +0100son0p(~ff@152.203.80.45) (Read error: Connection reset by peer)
2024-03-22 22:48:29 +0100 <shapr> tomsmeding: aha I found it https://github.com/nick8325/quickcheck/blob/master/src/Test/QuickCheck/Test.hs#L172
2024-03-22 22:55:10 +0100 <shapr> so if I'd waited for (maxBound :: Int) shrinks, I would have seen the problem.
2024-03-22 22:55:14 +0100 <shapr> > maxBound :: Int
2024-03-22 22:55:15 +0100 <lambdabot> 9223372036854775807
2024-03-22 22:56:07 +0100darkling(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (Summoning his cosmic powers, and glowing slightly from his toes...)
2024-03-22 22:56:18 +0100darkling(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space)
2024-03-22 22:57:09 +0100 <haskellbridge> <s​m> how long would that have taken
2024-03-22 22:57:58 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds)
2024-03-22 22:58:46 +0100ec(~ec@gateway/tor-sasl/ec)
2024-03-22 22:59:35 +0100 <shapr> too long
2024-03-22 22:59:50 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-03-22 23:02:30 +0100pavonia(~user@user/siracusa)
2024-03-22 23:06:04 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-03-22 23:06:38 +0100ec(~ec@gateway/tor-sasl/ec)
2024-03-22 23:12:47 +0100mik3d(~mik3d@pool-173-61-131-199.cmdnnj.fios.verizon.net)
2024-03-22 23:20:02 +0100mik3d(~mik3d@pool-173-61-131-199.cmdnnj.fios.verizon.net) (Read error: Connection reset by peer)
2024-03-22 23:24:23 +0100jargon(~jargon@70.sub-174-205-226.myvzw.com) (Remote host closed the connection)
2024-03-22 23:24:50 +0100mik3d(~mik3d@pool-173-61-131-199.cmdnnj.fios.verizon.net)
2024-03-22 23:28:25 +0100mik3d(~mik3d@pool-173-61-131-199.cmdnnj.fios.verizon.net) (Read error: Connection reset by peer)
2024-03-22 23:33:16 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-03-22 23:37:20 +0100 <shapr> I think the moral of this story is to set maxShrinks to a human reasonable value by default.
2024-03-22 23:37:34 +0100 <shapr> Or maybe wrap every QuickCheck test in a timeout?
2024-03-22 23:38:20 +0100 <glguy> Maybe we should lower the value of maxBound :: Int to something more manageable
2024-03-22 23:38:55 +0100 <shapr> That's the enterprise approach
2024-03-22 23:39:02 +0100 <shapr> Do you work for a startup? :-D
2024-03-22 23:39:21 +0100 <shapr> @remember glguy Maybe we should lower the value of maxBound :: Int to something more manageable
2024-03-22 23:39:22 +0100 <lambdabot> Done.
2024-03-22 23:39:32 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-03-22 23:39:48 +0100 <glguy> we're turning 25 soon, so probably too old to be a proper up-start
2024-03-22 23:40:00 +0100ec(~ec@gateway/tor-sasl/ec)
2024-03-22 23:40:34 +0100mik3d(~mik3d@pool-173-61-131-199.cmdnnj.fios.verizon.net)
2024-03-22 23:40:43 +0100 <shapr> too bad
2024-03-22 23:41:19 +0100 <shapr> glguy: but seriously, any thoughts on this problem?
2024-03-22 23:42:18 +0100 <glguy> I suspect that the QuickCheck authors are using maxBound as a stand-in for infinity and if you want earlier termination you're supposed to explicitly call for a smaller bound
2024-03-22 23:43:39 +0100 <shapr> I'd believe that.
2024-03-22 23:44:26 +0100 <glguy> I don't use quickcheck generally, so I don't have a strong opinion on the topic. It seems like a mistake if this library has a situation where: exists x. x `elem` shrink x
2024-03-22 23:45:09 +0100 <glguy> > A final gotcha: we cannot define shrink as simply shrink x = Nil:genericShrink x as this shrinks Nil to Nil, and shrinking will go into an infinite loop.
2024-03-22 23:45:10 +0100 <lambdabot> <hint>:1:60: error: parse error on input ‘=’
2024-03-22 23:45:44 +0100 <glguy> the haddocks don't seem to actually explain the requirements of shrinking, but that example seems to preclude returning yourself
2024-03-22 23:45:57 +0100 <shapr> good find
2024-03-22 23:51:47 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-03-22 23:52:51 +0100 <ph88> when i have a Data.Map with a key newtype Foo = Foo Int can i expect speed ups when getting rid of that newtype and using IntMap instead ?
2024-03-22 23:54:48 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2024-03-22 23:55:35 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
2024-03-22 23:57:12 +0100motherfsck(~motherfsc@user/motherfsck)
2024-03-22 23:57:49 +0100 <monochrom> I think some benchmarks say yes and some benchmarks say no. :)