2024/03/22

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