2023/05/11

2023-05-11 00:05:33 +0200 <aztex> wonder if there is any way to make this simpler
2023-05-11 00:06:32 +0200 <aztex> Java's solution seems to be that the Object class defines `toString` and `equals`; so any object created will atleast inherit those methods
2023-05-11 00:07:01 +0200acidjnk(~acidjnk@p200300d6e7072f50989d6eb439580fc3.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-05-11 00:08:01 +0200 <geekosaur> we don't actually have objects as such so there's no object hierarchy to follow
2023-05-11 00:08:27 +0200 <geekosaur> maybe we need `deriving default`
2023-05-11 00:08:43 +0200 <aztex> yes I am aware that Haskell lacks any object system
2023-05-11 00:11:48 +0200 <geekosaur> the hard part of which would be handling anything for which it would error out; currently if you derive something you can't you get an error, but for `deriving default Show` it should at most print a warning. which I think doesn't fly with how `deriving` currently works
2023-05-11 00:13:52 +0200evincar(~evincar@user/evincar) (Ping timeout: 265 seconds)
2023-05-11 00:14:24 +0200oo_miguel(~Thunderbi@77.252.47.78) (Quit: oo_miguel)
2023-05-11 00:16:55 +0200aztex(~aztex@5.151.196.18) (Quit: Client closed)
2023-05-11 00:17:00 +0200notzmv(~zmv@user/notzmv)
2023-05-11 00:27:14 +0200evincar(~evincar@user/evincar)
2023-05-11 00:27:28 +0200mechap(~mechap@user/mechap)
2023-05-11 00:28:01 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-11 00:30:14 +0200CalculusCats(NyaaTheKit@user/calculuscat)
2023-05-11 00:40:47 +0200Guest97(~Guest97@2a00:23c4:31cc:a301:5093:416:b7a8:251f) (Quit: Client closed)
2023-05-11 00:48:53 +0200motherfsck(~motherfsc@user/motherfsck)
2023-05-11 00:51:52 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-11 00:54:37 +0200SrPx(sid108780@id-108780.uxbridge.irccloud.com)
2023-05-11 00:56:04 +0200falafel(~falafel@2603-8000-d700-115c-4c01-bd57-7717-801a.res6.spectrum.com)
2023-05-11 00:57:00 +0200opticblast(~Thunderbi@172.58.86.143)
2023-05-11 00:58:00 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-11 01:00:01 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2023-05-11 01:00:26 +0200alanz(~alanzmatr@2001:470:69fc:105::2:49a6)
2023-05-11 01:01:22 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2023-05-11 01:02:11 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
2023-05-11 01:11:17 +0200evincar(~evincar@user/evincar) (Ping timeout: 246 seconds)
2023-05-11 01:12:31 +0200xff0x(~xff0x@2405:6580:b080:900:a69:6139:e027:9d7d) (Ping timeout: 240 seconds)
2023-05-11 01:14:51 +0200euandreh(~Thunderbi@189.6.18.7) (Remote host closed the connection)
2023-05-11 01:16:00 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net)
2023-05-11 01:16:14 +0200Igloo(~ian@matrix.chaos.earth.li) (Ping timeout: 268 seconds)
2023-05-11 01:19:11 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
2023-05-11 01:22:31 +0200nate2(~nate@98.45.169.16)
2023-05-11 01:22:48 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-11 01:22:50 +0200pavonia(~user@user/siracusa)
2023-05-11 01:22:53 +0200Igloo(~ian@matrix.chaos.earth.li)
2023-05-11 01:23:01 +0200mncheckm(~mncheck@193.224.205.254) (Ping timeout: 268 seconds)
2023-05-11 01:26:57 +0200mauke_(~mauke@user/mauke)
2023-05-11 01:27:02 +0200nate2(~nate@98.45.169.16) (Ping timeout: 246 seconds)
2023-05-11 01:27:56 +0200dsrt^(~dsrt@73.237.206.60)
2023-05-11 01:28:45 +0200mauke(~mauke@user/mauke) (Ping timeout: 256 seconds)
2023-05-11 01:28:46 +0200mauke_mauke
2023-05-11 01:28:51 +0200mechap(~mechap@user/mechap) (Quit: WeeChat 3.8)
2023-05-11 01:29:45 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
2023-05-11 01:42:32 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2023-05-11 01:43:55 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2023-05-11 01:44:58 +0200Lycurgus(~juan@user/Lycurgus)
2023-05-11 01:57:28 +0200evincar(~evincar@user/evincar)
2023-05-11 01:58:32 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-11 01:58:45 +0200jero98772(~jero98772@190.158.28.80) (Ping timeout: 265 seconds)
2023-05-11 02:13:35 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-11 02:13:35 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-11 02:13:35 +0200wroathe(~wroathe@user/wroathe)
2023-05-11 02:15:11 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-05-11 02:17:01 +0200jero98772(~jero98772@190.158.28.80)
2023-05-11 02:19:01 +0200falafel(~falafel@2603-8000-d700-115c-4c01-bd57-7717-801a.res6.spectrum.com) (Ping timeout: 240 seconds)
2023-05-11 02:29:23 +0200Guest40(~Guest40@138.251.117.48)
2023-05-11 02:29:48 +0200cowboy8625(~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net)
2023-05-11 02:33:04 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
2023-05-11 02:33:33 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
2023-05-11 02:33:54 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-11 02:36:17 +0200Guest40(~Guest40@138.251.117.48) (Quit: Ping timeout (120 seconds))
2023-05-11 02:36:41 +0200notzmv(~zmv@user/notzmv) (Read error: Connection reset by peer)
2023-05-11 02:40:51 +0200SeanKing[m](~seankingm@2001:470:69fc:105::cf9c) ()
2023-05-11 02:41:45 +0200cowboy8625(~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net) (Quit: WeeChat 3.5)
2023-05-11 02:42:57 +0200cowboy8625(~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net)
2023-05-11 02:43:05 +0200SeanKing[m](~seankingm@2001:470:69fc:105::cf9c)
2023-05-11 03:01:41 +0200cowboy8625(~cowboy@2001-48F8-4002-30E-BF21-709F-9B95-4A43-static.midco.net) (Ping timeout: 256 seconds)
2023-05-11 03:04:23 +0200rbrins(~user@67.21.186.139) (Ping timeout: 240 seconds)
2023-05-11 03:08:32 +0200jero98772(~jero98772@190.158.28.80) (Ping timeout: 246 seconds)
2023-05-11 03:08:45 +0200cowboy8625(~cowboy@2001-48F8-4002-30E-8B19-A165-5F15-CE9E-static.midco.net)
2023-05-11 03:10:38 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-11 03:11:01 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-11 03:13:07 +0200Guest40(~Guest40@138.251.117.48)
2023-05-11 03:13:40 +0200cowboy8625(~cowboy@2001-48F8-4002-30E-8B19-A165-5F15-CE9E-static.midco.net) (Ping timeout: 265 seconds)
2023-05-11 03:16:45 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-11 03:17:24 +0200hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2023-05-11 03:19:31 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-05-11 03:19:31 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2023-05-11 03:20:18 +0200puke(~puke@user/puke) (Quit: puke)
2023-05-11 03:20:37 +0200puke(~puke@user/puke)
2023-05-11 03:23:57 +0200Guest40(~Guest40@138.251.117.48) (Quit: Ping timeout (120 seconds))
2023-05-11 03:25:22 +0200hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2023-05-11 03:25:36 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-05-11 03:26:49 +0200evincar(~evincar@user/evincar)
2023-05-11 03:27:07 +0200jero98772(~jero98772@190.158.28.80)
2023-05-11 03:29:07 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-11 03:31:33 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 265 seconds)
2023-05-11 03:36:52 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2023-05-11 04:02:24 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-05-11 04:02:24 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-05-11 04:02:24 +0200finn_elijaFinnElija
2023-05-11 04:03:11 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-11 04:07:14 +0200Guest51(~Guest51@69-165-220-190.dsl.teksavvy.com)
2023-05-11 04:08:01 +0200xff0x(~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 240 seconds)
2023-05-11 04:15:26 +0200nate2(~nate@98.45.169.16)
2023-05-11 04:20:27 +0200td_(~td@i53870904.versanet.de) (Ping timeout: 256 seconds)
2023-05-11 04:22:06 +0200td_(~td@i53870913.versanet.de)
2023-05-11 04:27:12 +0200accord(uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-11 04:34:41 +0200puke(~puke@user/puke) (Quit: puke)
2023-05-11 04:36:05 +0200Guest51(~Guest51@69-165-220-190.dsl.teksavvy.com) (Quit: Client closed)
2023-05-11 04:37:23 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2023-05-11 04:37:54 +0200puke(~puke@user/puke)
2023-05-11 04:40:27 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-11 04:40:27 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-11 04:40:27 +0200wroathe(~wroathe@user/wroathe)
2023-05-11 04:45:30 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2023-05-11 04:46:09 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-05-11 04:55:22 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-05-11 05:01:00 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-05-11 05:03:58 +0200freeside_(~mengwong@202.161.55.11)
2023-05-11 05:04:40 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-05-11 05:05:25 +0200cheater_(~Username@user/cheater)
2023-05-11 05:05:48 +0200cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2023-05-11 05:05:50 +0200cheater_cheater
2023-05-11 05:13:32 +0200evincar(~evincar@user/evincar) (Ping timeout: 265 seconds)
2023-05-11 05:13:34 +0200jero98772(~jero98772@190.158.28.80) (Remote host closed the connection)
2023-05-11 05:17:37 +0200jargon(~jargon@184.101.78.160)
2023-05-11 05:18:33 +0200jargon(~jargon@184.101.78.160) (Remote host closed the connection)
2023-05-11 05:19:20 +0200nate2(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2023-05-11 05:20:14 +0200evincar(~evincar@user/evincar)
2023-05-11 05:23:35 +0200freeside_(~mengwong@202.161.55.11) (Ping timeout: 240 seconds)
2023-05-11 05:23:46 +0200freeside_(~mengwong@202.161.55.11)
2023-05-11 05:26:33 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-05-11 05:27:59 +0200freeside_(~mengwong@202.161.55.11) (Ping timeout: 240 seconds)
2023-05-11 05:41:41 +0200trev(~trev@user/trev)
2023-05-11 05:43:23 +0200evincar(~evincar@user/evincar) (Ping timeout: 264 seconds)
2023-05-11 05:48:55 +0200evincar(~evincar@user/evincar)
2023-05-11 05:51:23 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:d8c8:6fc6:e851:a318)
2023-05-11 06:01:18 +0200Ross[m]1(~zhichuche@2001:470:69fc:105::3:584b)
2023-05-11 06:10:25 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-11 06:36:55 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-05-11 06:39:43 +0200bilegeek(~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f)
2023-05-11 06:47:11 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-11 06:54:32 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-05-11 06:59:09 +0200bliminse(~bliminse@user/bliminse) (Quit: leaving)
2023-05-11 07:02:11 +0200freeside_(~mengwong@122.11.214.81)
2023-05-11 07:07:11 +0200opticblast(~Thunderbi@172.58.86.143) (Ping timeout: 240 seconds)
2023-05-11 07:10:39 +0200evincar(~evincar@user/evincar)
2023-05-11 07:11:34 +0200famubu(~julinuser@user/famubu) (Quit: leaving)
2023-05-11 07:12:11 +0200bliminse(~bliminse@user/bliminse)
2023-05-11 07:13:52 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-05-11 07:17:41 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-05-11 07:27:48 +0200myxokeph(~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Ping timeout: 240 seconds)
2023-05-11 07:27:58 +0200coot_(~coot@89-69-206-216.dynamic.chello.pl)
2023-05-11 07:29:09 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 256 seconds)
2023-05-11 07:29:10 +0200coot_coot
2023-05-11 07:39:34 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-05-11 07:40:43 +0200michalz(~michalz@185.246.207.218)
2023-05-11 07:47:41 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 265 seconds)
2023-05-11 07:49:24 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2023-05-11 07:50:37 +0200freeside_(~mengwong@122.11.214.81) (Ping timeout: 265 seconds)
2023-05-11 07:57:00 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-05-11 07:57:01 +0200pyook(~puke@user/puke) (Quit: Quit)
2023-05-11 07:58:16 +0200myxokeph(~myxokeph@cpe-65-28-251-121.cinci.res.rr.com)
2023-05-11 08:01:48 +0200freeside_(~mengwong@202.161.55.11)
2023-05-11 08:07:46 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-11 08:10:07 +0200oo_miguel(~Thunderbi@77.252.47.78)
2023-05-11 08:16:59 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
2023-05-11 08:18:48 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2023-05-11 08:22:40 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-05-11 08:23:05 +0200acidjnk(~acidjnk@p200300d6e7072f6355212613ac33bd6e.dip0.t-ipconnect.de)
2023-05-11 08:42:05 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
2023-05-11 08:48:23 +0200mncheck(~mncheck@193.224.205.254)
2023-05-11 08:51:53 +0200evincar(~evincar@user/evincar) (Ping timeout: 256 seconds)
2023-05-11 08:54:21 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-11 08:59:19 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2872:f96c:b2e6:63a4)
2023-05-11 09:01:23 +0200mc47(~mc47@xmonad/TheMC47)
2023-05-11 09:02:37 +0200pyook(~puke@user/puke)
2023-05-11 09:05:02 +0200CiaoSen(~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de)
2023-05-11 09:16:13 +0200nate2(~nate@98.45.169.16)
2023-05-11 09:20:25 +0200bilegeek(~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f) (Remote host closed the connection)
2023-05-11 09:20:49 +0200bilegeek(~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f)
2023-05-11 09:21:01 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-11 09:25:29 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-05-11 09:26:35 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds)
2023-05-11 09:30:16 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-11 09:32:08 +0200hugo(znc@verdigris.lysator.liu.se)
2023-05-11 09:33:01 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-05-11 09:34:47 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-11 09:41:10 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 250 seconds)
2023-05-11 09:41:20 +0200Techcable(~Techcable@user/Techcable)
2023-05-11 09:49:07 +0200bilegeek(~bilegeek@2600:1008:b086:19d:2c4a:f5bf:dd10:b52f) (Ping timeout: 256 seconds)
2023-05-11 09:49:11 +0200Techcable(~Techcable@user/Techcable) (Read error: Connection reset by peer)
2023-05-11 09:49:23 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds)
2023-05-11 09:50:48 +0200m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 240 seconds)
2023-05-11 09:51:59 +0200Techcable(~Techcable@user/Techcable)
2023-05-11 09:52:54 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 265 seconds)
2023-05-11 09:54:44 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2023-05-11 09:55:25 +0200m5zs7k(aquares@web10.mydevil.net)
2023-05-11 09:57:02 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-05-11 09:58:55 +0200hugo(znc@verdigris.lysator.liu.se)
2023-05-11 10:01:10 +0200merijn(~merijn@86.86.29.250)
2023-05-11 10:12:25 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-05-11 10:15:16 +0200mmhat(~mmh@p200300f1c706683cee086bfffe095315.dip0.t-ipconnect.de)
2023-05-11 10:15:58 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-05-11 10:21:53 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-05-11 10:23:00 +0200mmhat(~mmh@p200300f1c706683cee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
2023-05-11 10:23:07 +0200ystael(~ystael@user/ystael) (Ping timeout: 256 seconds)
2023-05-11 10:24:06 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-05-11 10:24:51 +0200mc47(~mc47@xmonad/TheMC47)
2023-05-11 10:25:48 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998)
2023-05-11 10:29:38 +0200ystael(~ystael@user/ystael)
2023-05-11 10:30:14 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Ping timeout: 246 seconds)
2023-05-11 10:41:14 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-05-11 10:41:41 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-05-11 10:42:43 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2023-05-11 10:42:57 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 256 seconds)
2023-05-11 10:43:11 +0200mc47(~mc47@xmonad/TheMC47)
2023-05-11 10:44:31 +0200Lord_of_Life_Lord_of_Life
2023-05-11 10:58:22 +0200pyook(~puke@user/puke) (Ping timeout: 268 seconds)
2023-05-11 10:58:23 +0200ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2023-05-11 10:59:27 +0200JimL(~quassel@89.162.16.26)
2023-05-11 11:01:41 +0200oo_miguel1(~Thunderbi@77.252.47.78)
2023-05-11 11:02:05 +0200oo_miguel(~Thunderbi@77.252.47.78) (Ping timeout: 246 seconds)
2023-05-11 11:02:05 +0200oo_miguel1oo_miguel
2023-05-11 11:04:25 +0200alexherbo2(~alexherbo@211.190.65.81.rev.sfr.net)
2023-05-11 11:04:48 +0200hgolden_(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2023-05-11 11:06:31 +0200hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Ping timeout: 240 seconds)
2023-05-11 11:07:08 +0200JimL(~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-05-11 11:07:10 +0200titibandit(~titibandi@user/titibandit)
2023-05-11 11:09:09 +0200JimL(~quassel@89.162.16.26)
2023-05-11 11:16:11 +0200pyook(~puke@user/puke)
2023-05-11 11:17:01 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-05-11 11:17:22 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-05-11 11:18:33 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de)
2023-05-11 11:22:21 +0200__monty__(~toonn@user/toonn)
2023-05-11 11:24:29 +0200ubert(~Thunderbi@2a02:8109:abc0:6434:a17e:7764:ca3b:275)
2023-05-11 11:30:45 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
2023-05-11 11:33:53 +0200alexherbo2(~alexherbo@211.190.65.81.rev.sfr.net) (Remote host closed the connection)
2023-05-11 11:34:11 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net)
2023-05-11 11:40:44 +0200phma_(phma@2001:5b0:210d:9dd8:7e87:f62f:6b71:75cd)
2023-05-11 11:44:43 +0200phma(~phma@host-67-44-208-102.hnremote.net) (Ping timeout: 256 seconds)
2023-05-11 11:51:47 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
2023-05-11 11:52:11 +0200ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com)
2023-05-11 11:54:52 +0200dfg(~dfg@user/dfg) (Remote host closed the connection)
2023-05-11 11:55:10 +0200dfg(~dfg@dfg.rocks)
2023-05-11 11:55:10 +0200dfg(~dfg@dfg.rocks) (Changing host)
2023-05-11 11:55:10 +0200dfg(~dfg@user/dfg)
2023-05-11 11:58:39 +0200phma_phma
2023-05-11 12:01:16 +0200freeside_(~mengwong@202.161.55.11) (Ping timeout: 268 seconds)
2023-05-11 12:01:35 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-05-11 12:01:35 +0200tokie(~tokie@tokie.net) (Ping timeout: 260 seconds)
2023-05-11 12:01:36 +0200Guest75(~Guest75@ip5f5be7a8.dynamic.kabel-deutschland.de)
2023-05-11 12:02:04 +0200freeside_(~mengwong@122.11.248.245)
2023-05-11 12:06:29 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-05-11 12:06:49 +0200freeside_(~mengwong@122.11.248.245) (Ping timeout: 256 seconds)
2023-05-11 12:07:20 +0200pharonix71(~pharonix7@user/pharonix71) (Ping timeout: 240 seconds)
2023-05-11 12:07:31 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
2023-05-11 12:09:43 +0200pharonix71(~pharonix7@user/pharonix71)
2023-05-11 12:11:11 +0200Guest75(~Guest75@ip5f5be7a8.dynamic.kabel-deutschland.de) (Quit: Connection closed)
2023-05-11 12:12:54 +0200tokie(~tokie@tokie.net)
2023-05-11 12:17:35 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 240 seconds)
2023-05-11 12:20:38 +0200Techcable(~Techcable@user/Techcable)
2023-05-11 12:22:23 +0200CiaoSen(~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
2023-05-11 12:23:34 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de)
2023-05-11 12:24:45 +0200 <jade[m]> I was asking about the signature of `($) :: forall r a (b :: TYPE r). (a -> b) -> a -> b`. From what I understand it just means that b has _some_ runtime representation?
2023-05-11 12:24:45 +0200 <jade[m]> What does that mean in practice? What is the difference to `($) :: (a -> b) -> a -> b`?
2023-05-11 12:25:13 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-05-11 12:25:35 +0200 <geekosaur> it means that it has any runtime representation, as opposed to the default of being `LiftedRep`
2023-05-11 12:28:38 +0200 <jade[m]> does that have any effect in practice though? Is there anything that you can do with that which the "normal" signature can't?
2023-05-11 12:30:27 +0200 <geekosaur> you can use it with unboxed values
2023-05-11 12:30:54 +0200 <geekosaur> (which should not be surprising as it's just normal function application with a different fixity)
2023-05-11 12:31:11 +0200 <geekosaur> this doesn't matter for most purposes but there are indeed uses for it
2023-05-11 12:31:52 +0200 <jade[m]> mh I see
2023-05-11 12:32:05 +0200 <jade[m]> thank you, I'll have to learn more about these primitive things
2023-05-11 12:32:41 +0200 <ncf> doesn't ($) have to be special-cased internally anyway for impredicative polymorphism or something
2023-05-11 12:33:38 +0200 <tomsmeding> geekosaur: shouldn't the 'a' also be given a kind annotation then?
2023-05-11 12:33:49 +0200 <ncf> this https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0274-quick-look-impredicativi…
2023-05-11 12:34:36 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-11 12:36:03 +0200 <geekosaur> tomsmeding, I think `a` is already representation polymorphic? it's `b` that defaults to `TYPE LiftedRep` aka `Type`
2023-05-11 12:36:24 +0200 <tomsmeding> hmm
2023-05-11 12:36:38 +0200 <geekosaur> way back in the day the kind of the function arrow was something like `? -> ?? -> *`
2023-05-11 12:36:43 +0200 <geekosaur> :k (->)
2023-05-11 12:36:44 +0200 <lambdabot> * -> * -> *
2023-05-11 12:37:02 +0200 <geekosaur> % :set -fprint-explicit-foralls
2023-05-11 12:37:02 +0200 <yahb2> <no output>
2023-05-11 12:37:08 +0200 <geekosaur> % :kind (->)
2023-05-11 12:37:08 +0200 <yahb2> (->) :: * -> * -> *
2023-05-11 12:37:11 +0200 <geekosaur> hm
2023-05-11 12:37:35 +0200 <tomsmeding> also there's something weird going on anyway https://paste.tomsmeding.com/j8g3OWzO
2023-05-11 12:37:44 +0200 <tomsmeding> seems ($) is indeed handled specially somehow
2023-05-11 12:38:43 +0200 <tomsmeding> % :set -fprint-explicit-kinds -fprint-explicit-runtime-reps
2023-05-11 12:38:43 +0200 <yahb2> <no output>
2023-05-11 12:38:48 +0200 <tomsmeding> $ :kind (->)
2023-05-11 12:38:52 +0200 <tomsmeding> % :kind (->)
2023-05-11 12:38:52 +0200 <yahb2> (->) :: forall {q :: GHC.Types.RuntimeRep} ; {r :: GHC.Types.RuntimeRep}. ; TYPE q -> TYPE r -> *
2023-05-11 12:39:01 +0200 <tomsmeding> geekosaur: ^
2023-05-11 12:39:22 +0200 <ncf> apparently base 4.19 makes ($) representation-polymorphic in both parameters
2023-05-11 12:39:25 +0200 <jade[m]> huh interesting
2023-05-11 12:39:31 +0200acidjnk(~acidjnk@p200300d6e7072f6355212613ac33bd6e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-05-11 12:39:38 +0200 <ncf> https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/GHC/Base.hs#L1601
2023-05-11 12:40:34 +0200 <ncf> > the generalisation forced a change in its implementation
2023-05-11 12:40:36 +0200 <lambdabot> <hint>:1:36: error: parse error on input ‘in’
2023-05-11 12:40:50 +0200 <tomsmeding> ncf: not only ($)'s implementation, GHC's implementation apparently
2023-05-11 12:40:50 +0200 <ncf> love to read about the implementation of function application
2023-05-11 12:40:57 +0200 <tomsmeding> because that type is not accepted by ghc 9.2.4 :p
2023-05-11 12:41:26 +0200 <ncf> statements dreamt up by the utterly deranged
2023-05-11 12:41:33 +0200 <tomsmeding> ah but it is accepted by 9.6.1
2023-05-11 12:41:35 +0200 <ncf> ($) was not meant to be given types!
2023-05-11 12:41:54 +0200 <ncf> "yes i would like forall repa (a :: TYPE repa). apples please"
2023-05-11 12:41:57 +0200 <tomsmeding> lol
2023-05-11 12:42:40 +0200 <tomsmeding> 9.6.1 accepts a more general type for ($) than the one in 9.6.1's base, leading to my app in my paste working whereas ($) doesn't
2023-05-11 12:42:47 +0200zmt00(~zmt00@user/zmt00)
2023-05-11 12:43:30 +0200 <tomsmeding> @hackage repa
2023-05-11 12:43:30 +0200 <lambdabot> https://hackage.haskell.org/package/repa
2023-05-11 12:45:50 +0200 <carbolymer> if I do `let foo = someExpensiveFunction` and use foo multiple times, `someExpensiveFunction` would be executed only once and the result reused, right?
2023-05-11 12:46:42 +0200 <geekosaur> usually
2023-05-11 12:46:51 +0200 <carbolymer> wdym
2023-05-11 12:47:33 +0200 <geekosaur> lets can be sunk or floated which can change how often they are evaluated. usually it will take your code as a request (not command) to only perform the computation once
2023-05-11 12:47:48 +0200 <geekosaur> but you can annotate it with Debug.Trace.trace to verify
2023-05-11 12:48:47 +0200 <opqdonut> also if the type of foo is polymorphic (e.g. Num a => a), it might get recomputed
2023-05-11 12:49:02 +0200 <carbolymer> opqdonut: oh yeah, that would make sense
2023-05-11 12:49:14 +0200 <tomsmeding> carbolymer: note that you may see different behaviour in a compiled file and in ghci, because ghci sets -XNoMonomorphismRestriction by default, and without the mono-res, opqdonut's situation arises
2023-05-11 12:49:20 +0200gry(~quassel@botters/gry) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-05-11 12:49:42 +0200 <geekosaur> no it won't because the monomorphism restriction applies to top level bindings, not let bindings
2023-05-11 12:49:46 +0200 <opqdonut> if it's an actual let...in, TDMR won't affect
2023-05-11 12:49:48 +0200 <geekosaur> MonoLocalBinds applies to those
2023-05-11 12:49:51 +0200 <opqdonut> yeah
2023-05-11 12:49:55 +0200 <tomsmeding> ah!
2023-05-11 12:49:56 +0200 <tomsmeding> right
2023-05-11 12:50:29 +0200 <opqdonut> carbolymer: in general, for basic haskell, "a named value gets evaluated at most once" is a good rule of thumb
2023-05-11 12:50:52 +0200gry(quasselcor@2400:c400:1002:11:5054:ff:fe78:ebe6)
2023-05-11 12:51:26 +0200 <carbolymer> opqdonut: I thought so, but I got a review comment that my value in where gets recomputed every time, so it got me thinking if that's really the case
2023-05-11 12:51:28 +0200 <tomsmeding> ghc is allowed to inline and violate that rule, but if the computation is actually expensive, that would arguably be a bug
2023-05-11 12:52:28 +0200 <sm1> carbolymer: would be interesting to see that code
2023-05-11 12:52:45 +0200 <tomsmeding> carbolymer: if it depends on the function arguments, then it will get recomputed the next time the function that the 'where' is attached to is called
2023-05-11 12:52:50 +0200 <opqdonut> yeah
2023-05-11 12:53:07 +0200 <opqdonut> and even if it doesn't depend on the args, it might get recomputed
2023-05-11 12:53:11 +0200 <geekosaur> or, as mentioned, if it's inferred to be typeclass-polymorphic
2023-05-11 12:53:15 +0200 <tomsmeding> if it doesn't depend on the function arguments, ghc should (but might not) float it up and make it a top-level constant
2023-05-11 12:53:21 +0200 <geekosaur> in which case you may like `MonoLocalBinds`
2023-05-11 12:53:21 +0200 <carbolymer> sm1: here https://github.com/input-output-hk/cardano-node/pull/5197/files/b78ed2c5038381134d9f91971f541623f6…
2023-05-11 12:54:13 +0200Guest40(~Guest40@138.251.117.48)
2023-05-11 12:54:56 +0200 <carbolymer> tomsmeding: yeah, that's expected I'd say, but I would like to avoid recomputing within single call of a function where 'where' is placed
2023-05-11 12:55:00 +0200 <sm1> thanks!
2023-05-11 12:55:12 +0200tomsmedingisn't sure which where binding we're talking about here
2023-05-11 12:55:45 +0200 <sm1> https://github.com/input-output-hk/cardano-node/blob/b78ed2c5038381134d9f91971f541623f6d1d3e9/card… I think
2023-05-11 12:55:48 +0200gry(quasselcor@2400:c400:1002:11:5054:ff:fe78:ebe6) (Changing host)
2023-05-11 12:55:48 +0200gry(quasselcor@botters/gry)
2023-05-11 12:55:53 +0200 <sm1> it depends on pparams function argument
2023-05-11 12:56:03 +0200 <carbolymer> sm1: yes
2023-05-11 12:56:10 +0200 <carbolymer> sry, I thought that I copied highlighted line
2023-05-11 12:58:59 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 264 seconds)
2023-05-11 12:59:23 +0200 <tomsmeding> carbolymer: I think their point is not that the whole eBpparams will be recomputed every time, but that the Either will be matched on every time
2023-05-11 13:00:01 +0200 <tomsmeding> which is indeed repeated computation, but much less than the whole binding
2023-05-11 13:01:43 +0200 <carbolymer> tomsmeding: ah, thanks, that would make sense
2023-05-11 13:05:09 +0200xff0x(~xff0x@2405:6580:b080:900:eba2:f46b:4628:1a3b)
2023-05-11 13:05:34 +0200vpan(~0@mail.elitnet.lt)
2023-05-11 13:07:08 +0200 <sm1> carbolymer: off the top of your head, is there a trick to get hls working in this repo ? It can't detect the ghc version.
2023-05-11 13:10:08 +0200 <carbolymer> sm1: I'm using direnv to manually set ghc version https://c-v.sh/mirkysissies.txt
2023-05-11 13:10:37 +0200 <sm1> 👍️
2023-05-11 13:11:44 +0200 <sm1> phew.. so old
2023-05-11 13:12:14 +0200 <carbolymer> well we need to support 8.10 as of now, but it should work with 9.4 I think
2023-05-11 13:15:10 +0200 <sm1> nothing works here. Sorry y'all dropped stack!
2023-05-11 13:15:21 +0200 <sm1> but don't mind me
2023-05-11 13:17:43 +0200nate2(~nate@98.45.169.16)
2023-05-11 13:19:35 +0200 <tomsmeding> sm1: what happens if you add a hie.yaml file in the repo root with the contents "cradle:\n cabal:" (with the \n denoting an actual newline)
2023-05-11 13:21:52 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de)
2023-05-11 13:22:59 +0200nate2(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2023-05-11 13:23:07 +0200 <sm1> no change tomsmeding
2023-05-11 13:23:51 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-11 13:25:51 +0200Guest40(~Guest40@138.251.117.48) (Quit: Ping timeout (120 seconds))
2023-05-11 13:28:25 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:31be:f6fb:98c3:bcac)
2023-05-11 13:37:11 +0200 <sm1> (got it starting up by: adding with-compiler: ghc-9.2.7 in cabal.project.local, brew install secp256k1)
2023-05-11 13:37:52 +0200oneeyedalien(~oneeyedal@103.21.127.60)
2023-05-11 13:39:55 +0200d3mon(~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef)
2023-05-11 13:42:23 +0200 <d3mon> hi, beginner here, could someone help me understand what's causing the type error here? https://paste.tomsmeding.com/cfrDOEar
2023-05-11 13:42:42 +0200 <ncf> the error message should help you
2023-05-11 13:42:46 +0200 <merijn> d3mon: Could you include the type error? ;)
2023-05-11 13:43:10 +0200 <d3mon> oh yeah oops that would help wouldn't it
2023-05-11 13:43:41 +0200 <d3mon> https://paste.tomsmeding.com/Zjoi8rRR here's the same again with the type error appended
2023-05-11 13:43:43 +0200 <merijn> d3mon: unrelated style remark: I, uh, wouldn't indent that where so much :p
2023-05-11 13:43:46 +0200bontaq(~user@ool-45779b84.dyn.optonline.net)
2023-05-11 13:44:21 +0200 <ncf> you can't multiply Ints and Doubles together
2023-05-11 13:44:23 +0200 <merijn> d3mon: oh! There is no implicit type conversion for numbers (like C, etc.) would do
2023-05-11 13:44:26 +0200 <merijn> :t (*)
2023-05-11 13:44:27 +0200 <lambdabot> Num a => a -> a -> a
2023-05-11 13:44:40 +0200 <merijn> * requires both arguments to have the same type
2023-05-11 13:44:53 +0200 <merijn> You probably want
2023-05-11 13:44:55 +0200 <merijn> :t fromIntegral
2023-05-11 13:44:56 +0200 <lambdabot> (Integral a, Num b) => a -> b
2023-05-11 13:45:04 +0200 <merijn> > fromIntegral (1 :: Int) :: Double
2023-05-11 13:45:06 +0200 <lambdabot> 1.0
2023-05-11 13:45:39 +0200 <merijn> > (2.0 :: Double) * (1 :: Int)
2023-05-11 13:45:40 +0200 <lambdabot> error:
2023-05-11 13:45:41 +0200 <lambdabot> • Couldn't match expected type ‘Double’ with actual type ‘Int’
2023-05-11 13:45:41 +0200 <lambdabot> • In the second argument of ‘(*)’, namely ‘(1 :: Int)’
2023-05-11 13:45:46 +0200 <merijn> > (2.0 :: Double) * fromIntegral (1 :: Int)
2023-05-11 13:45:47 +0200 <lambdabot> 2.0
2023-05-11 13:46:08 +0200 <d3mon> merijn: ah okay. Do you know where I could find a good style guide for Haskell?
2023-05-11 13:46:26 +0200 <d3mon> I get it now, so both the arguments to (*) have to be of the same type
2023-05-11 13:46:45 +0200 <merijn> d3mon: I don't think there's really one, but normally you'd only indent where 1 (or half) an indent
2023-05-11 13:46:56 +0200oneeyedalien(~oneeyedal@103.21.127.60) (Quit: Leaving)
2023-05-11 13:47:16 +0200 <d3mon> one indent from the margin?
2023-05-11 13:48:36 +0200 <merijn> d3mon: I generally format nested stuff like this: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/StepAggregate.hs#L62-L119
2023-05-11 13:51:57 +0200 <d3mon> great thanks!
2023-05-11 13:52:21 +0200 <d3mon> how come using fromIntegral like this doesn't solve the problem? https://paste.tomsmeding.com/5rmwTU5U
2023-05-11 13:53:56 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-05-11 13:56:24 +0200 <ncf> p0 and aug are still Ints
2023-05-11 13:56:35 +0200 <ncf> :t (+)
2023-05-11 13:56:36 +0200 <lambdabot> Num a => a -> a -> a
2023-05-11 13:57:16 +0200 <d3mon> so I need to convert them all to fractional types?
2023-05-11 13:58:31 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-05-11 13:58:47 +0200 <d3mon> okay that seems to be working. I don't understand why the error message didn't change when I fixed the first one, though
2023-05-11 14:00:06 +0200 <merijn> d3mon: Because change the first one changes the type of the multiplication to Double, but the + still wants it to be Int
2023-05-11 14:00:48 +0200 <merijn> d3mon: And * being double is still caused by 'pc'
2023-05-11 14:01:05 +0200 <d3mon> ah
2023-05-11 14:01:47 +0200 <d3mon> so where exactly is this type error coming from? is it the whole expression that's assigned to `result`?
2023-05-11 14:01:49 +0200 <merijn> d3mon: One thing that's different in haskell's type inference compared to, say, 'auto' in C++ and Go's typing is that constraint and type information in Haskell is bidirectional
2023-05-11 14:02:35 +0200 <d3mon> what does that mean?
2023-05-11 14:02:58 +0200accord(uid568320@id-568320.hampstead.irccloud.com)
2023-05-11 14:03:40 +0200 <merijn> d3mon: Well, 'years', 'p0', 'aug', and 'p' being Int and 'pc' bein Double are a given (from the type signature), (+) and (*) both demand the same types in both their arguments, but there's way to decide which side is "right"
2023-05-11 14:04:19 +0200 <merijn> d3mon: I mean that type information goes both "upwards" (from individual variables into larger expressions) and downards (from the final type of an expression to it's individual subexpressions)
2023-05-11 14:06:13 +0200 <d3mon> okay, so as I understand it, Haskell presents the information coming from "the top" (e.g. declared type of a function) as the "expected" type, and the information coming from "the bottom" as the "actual" type, right?
2023-05-11 14:06:20 +0200 <merijn> So GHC just sees: 1) the argument to + is Int and some type 'b' (the result type of the multiplication, initially you get a type error because (*) with Int and Double leads to a conflict (since Int and Double aren't the same). Once you fix that with fromIntegral the inferred result type of * is the type of 'pc' (i.e. Double), which then conflicts with the Int on the other side of (+), and thus it
2023-05-11 14:06:20 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2023-05-11 14:06:26 +0200 <merijn> concludes "things mismatch here"
2023-05-11 14:07:03 +0200 <merijn> d3mon: I'm not gonna lie, after, like, 15 years I still haven't memorised which one is "expected" and which one is "actual" xD
2023-05-11 14:07:10 +0200 <d3mon> haha lol
2023-05-11 14:07:21 +0200 <d3mon> I'm *pretty* sure that "expected" is the "top" type
2023-05-11 14:08:03 +0200 <merijn> d3mon: otoh, since information goes both directions anyway, which is "the top" and which is "the bottom" is generally not that important, since you can usually easily figure out which is which looking at the code and types
2023-05-11 14:08:17 +0200 <merijn> d3mon: (i.e. pc being Double)
2023-05-11 14:08:46 +0200 <geekosaur> the real problem is you have to guess what order the typechecker is working in; that determines which is expected vs. actual
2023-05-11 14:09:22 +0200 <merijn> d3mon: A better example of things going backwards is that in most languages you can't have a polymorphic return type
2023-05-11 14:09:27 +0200 <merijn> i.e. compare
2023-05-11 14:09:29 +0200azimut_(~azimut@gateway/tor-sasl/azimut)
2023-05-11 14:09:29 +0200 <merijn> :t readMaybe
2023-05-11 14:09:30 +0200 <lambdabot> error: Variable not in scope: readMaybe
2023-05-11 14:09:35 +0200 <merijn> boo
2023-05-11 14:09:37 +0200 <merijn> :t read
2023-05-11 14:09:38 +0200 <lambdabot> Read a => String -> a
2023-05-11 14:09:57 +0200 <d3mon> uh huh
2023-05-11 14:10:05 +0200 <merijn> d3mon: In most languages you can't write something like that where a function's result type is inferred from where you use it
2023-05-11 14:10:14 +0200 <d3mon> Yeah I get that
2023-05-11 14:10:23 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-05-11 14:11:04 +0200 <tomsmeding> @let import Text.Read
2023-05-11 14:11:05 +0200 <lambdabot> Defined.
2023-05-11 14:12:19 +0200 <d3mon> how can I convert back from a Double to an Int now? I thought using `floor` would work
2023-05-11 14:12:28 +0200 <merijn> floor, round, ceil
2023-05-11 14:13:13 +0200 <merijn> (usual warning that round for Double uses banker's rounding by default, since that's what IEEE-754 species, but no one expects :p)
2023-05-11 14:14:55 +0200 <merijn> oh, there's truncate too
2023-05-11 14:15:25 +0200tomsmeding. o O ( fromEnum )
2023-05-11 14:15:47 +0200 <merijn> And then there's of course also fixed precision and rationals for more precise results ;)
2023-05-11 14:15:59 +0200 <merijn> tomsmeding: I'm gonna find you a duct tape you to a ceiling
2023-05-11 14:16:13 +0200 <tomsmeding> merijn: I knew what would make you angry
2023-05-11 14:16:56 +0200 <d3mon> :t fromEnum
2023-05-11 14:16:57 +0200 <lambdabot> Enum a => a -> Int
2023-05-11 14:17:32 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:31be:f6fb:98c3:bcac) (Quit: caryhartline)
2023-05-11 14:17:40 +0200 <d3mon> Great, I've got this puzzle solution working now, thanks
2023-05-11 14:17:44 +0200jade[m]uploaded an image: (25KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/UdkZqMJdGgegxAqlnpONGeRC/image.png >
2023-05-11 14:17:45 +0200 <jade[m]> this keeps happening to my ghci
2023-05-11 14:17:59 +0200 <jade[m]> im not really sure how or why
2023-05-11 14:18:34 +0200 <tomsmeding> d3mon: please for the love of god do not use fromEnum here
2023-05-11 14:18:50 +0200 <d3mon> tomsmeding: don't worry I was just curious. what's it supposed to be for anyway?
2023-05-11 14:19:17 +0200 <tomsmeding> me and merijn and others are of the opinion that fromEnum shouldn't even be defined for Double in the first place
2023-05-11 14:19:24 +0200 <tomsmeding> ignore it until you deal with Enum
2023-05-11 14:19:38 +0200 <merijn> d3mon: I swear to god, if you use fromEnum I will kill myself and have my ghost haunt you for eternity
2023-05-11 14:19:49 +0200 <geekosaur> jade[m], https://bbs.archlinux.org/viewtopic.php?id=282429
2023-05-11 14:19:53 +0200 <carbolymer> wait wat, there's Enum instance for Float and Double o.O
2023-05-11 14:20:02 +0200 <merijn> carbolymer: Braindamaged
2023-05-11 14:20:09 +0200 <tomsmeding> carbolymer: yes, and that has been the meme of this channel for years
2023-05-11 14:20:13 +0200 <merijn> > enumFromThen 1.5 1.6
2023-05-11 14:20:14 +0200 <lambdabot> [1.5,1.6,1.7000000000000002,1.8000000000000003,1.9000000000000004,2.00000000...
2023-05-11 14:20:16 +0200 <carbolymer> jade[m]: looks like your first mistake is using GHC provided by arch
2023-05-11 14:20:18 +0200 <merijn> > map fromEnum $ enumFromThen 1.5 1.6
2023-05-11 14:20:19 +0200 <geekosaur> upgrade to ghc 9.4 or apply a kernel hotfix as specified in that discussion
2023-05-11 14:20:19 +0200 <lambdabot> [1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5...
2023-05-11 14:20:34 +0200 <tomsmeding> > map fromEnum [1.5,1.6..]
2023-05-11 14:20:35 +0200 <geekosaur> carbolymer, this isn't arch's fault, they just have the best discussion of it
2023-05-11 14:20:35 +0200 <lambdabot> [1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5...
2023-05-11 14:20:38 +0200 <merijn> jade[m]: Kernel bug
2023-05-11 14:20:41 +0200 <geekosaur> it's a kernel 6,1/6.2 bug
2023-05-11 14:20:43 +0200 <merijn> carbolymer: That's irrelevant
2023-05-11 14:20:58 +0200 <merijn> Kernel's busted. It was fixed in 6.2.9, but 6.2.13 regressed and rebroke it
2023-05-11 14:20:59 +0200 <tomsmeding> (although using Arch's GHC is also a mistake)
2023-05-11 14:21:19 +0200 <carbolymer> geekosaur: still, using ghc from arch repo for development means opening a can of worms
2023-05-11 14:21:19 +0200 <jade[m]> ah, I didn't even realize I had it installed via pacman ...
2023-05-11 14:21:24 +0200 <jade[m]> I thought I used ghcup
2023-05-11 14:21:39 +0200 <merijn> jade[m]: ghcup doesn't work either, since it's a kernel bug
2023-05-11 14:21:55 +0200 <jade[m]> ok, still
2023-05-11 14:21:59 +0200 <merijn> ghc 9.4 *might* work, since it doesn't seem to trigger said kernel bug
2023-05-11 14:22:36 +0200 <merijn> Well, that or downgrading your kernel (or upgrading, if they refixed it by now?)
2023-05-11 14:24:55 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-05-11 14:26:02 +0200 <yin> :t pure succ <*> pure 0
2023-05-11 14:26:03 +0200 <lambdabot> (Applicative f, Enum b, Num b) => f b
2023-05-11 14:26:16 +0200 <yin> > pure succ <*> pure 0
2023-05-11 14:26:18 +0200 <lambdabot> error:
2023-05-11 14:26:18 +0200 <lambdabot> • Ambiguous type variable ‘f0’ arising from a use of ‘show_M826100026447...
2023-05-11 14:26:18 +0200 <lambdabot> prevents the constraint ‘(Show (f0 Integer))’ from being solved.
2023-05-11 14:27:09 +0200 <yin> if i understand correctly, ghci defaults the Applicative to IO ?
2023-05-11 14:27:48 +0200 <yin> because it gives me `2 :: Integer` without a problem
2023-05-11 14:28:16 +0200 <carbolymer> > pure 0 :: _
2023-05-11 14:28:18 +0200 <lambdabot> error:
2023-05-11 14:28:18 +0200 <lambdabot> • Ambiguous type variable ‘f0’ arising from a use of ‘show_M288124193279...
2023-05-11 14:28:18 +0200 <lambdabot> prevents the constraint ‘(Show (f0 Integer))’ from being solved.
2023-05-11 14:28:40 +0200 <carbolymer> https://bpa.st/7QQO6
2023-05-11 14:28:46 +0200 <carbolymer> yes, IO
2023-05-11 14:29:27 +0200 <tomsmeding> carbolymer: what ghc version is that
2023-05-11 14:29:35 +0200 <geekosaur> https://downloads.haskell.org/ghc/9.6.1/docs/users_guide/ghci.html#i-o-actions-at-the-prompt
2023-05-11 14:29:40 +0200 <tomsmeding> I'm getting "standing for 'f a'" on 8.10.7, 9.2.4 and 9.6.1
2023-05-11 14:29:42 +0200 <carbolymer> tomsmeding: 9.4.4
2023-05-11 14:29:50 +0200 <geekosaur> note "provided it can be instantiated to IO"
2023-05-11 14:29:51 +0200 <tomsmeding> same
2023-05-11 14:30:13 +0200 <tomsmeding> carbolymer: https://paste.tomsmeding.com/b2o3Say0
2023-05-11 14:30:20 +0200 <carbolymer> :set -XPartialTypeSignatures
2023-05-11 14:30:35 +0200 <tomsmeding> oh the defaulting happens later :p
2023-05-11 14:30:50 +0200 <tomsmeding> ugly that you get to see that ghciStepIO
2023-05-11 14:31:23 +0200 <carbolymer> yeah
2023-05-11 14:31:25 +0200 <tomsmeding> % :set -XPartialTypeSignatures
2023-05-11 14:31:25 +0200 <yahb2> <no output>
2023-05-11 14:31:29 +0200 <tomsmeding> % pure 0 :: _
2023-05-11 14:31:29 +0200 <yahb2> <interactive>:113:11: warning: [-Wpartial-type-signatures] ; • Found type wildcard ‘_’ standing for ‘IO Integer’ ; • In an expression type signature: _ ; In the first argument of ‘GHC...
2023-05-11 14:31:32 +0200 <tomsmeding> % show (pure 0 :: _)
2023-05-11 14:31:32 +0200 <yahb2> <interactive>:115:1: error: ; • Ambiguous type variable ‘f0’ arising from a use of ‘show’ ; prevents the constraint ‘(Show (f0 Integer))’ from being solved. ; Probable fix: use a ty...
2023-05-11 14:31:39 +0200 <tomsmeding> the second one is the error that lambdabot gives
2023-05-11 14:34:29 +0200CiaoSen(~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de)
2023-05-11 14:35:47 +0200d3mon(~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef) (Quit: Client closed)
2023-05-11 14:40:01 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2023-05-11 14:40:05 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-05-11 14:50:37 +0200bontaq(~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection)
2023-05-11 14:50:51 +0200bontaq(~user@ool-45779b84.dyn.optonline.net)
2023-05-11 14:50:55 +0200mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2023-05-11 14:51:12 +0200mncheck(~mncheck@193.224.205.254)
2023-05-11 14:54:28 +0200myme(~myme@2a01:799:d60:e400:2dd4:a7b:39d8:afc) (Ping timeout: 240 seconds)
2023-05-11 14:55:24 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-11 14:55:35 +0200myme(~myme@2a01:799:d60:e400:2ce:5c57:3d17:4b34)
2023-05-11 14:56:35 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-05-11 14:58:23 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 264 seconds)
2023-05-11 15:06:27 +0200titibandit(~titibandi@user/titibandit)
2023-05-11 15:09:06 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:511d:d8dc:88ae:f967)
2023-05-11 15:12:52 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-11 15:16:23 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-11 15:16:54 +0200titibandit(~titibandi@user/titibandit)
2023-05-11 15:20:53 +0200d3mon(~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef)
2023-05-11 15:24:47 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 240 seconds)
2023-05-11 15:30:14 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998)
2023-05-11 15:32:31 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 240 seconds)
2023-05-11 15:33:28 +0200Techcable(~Techcable@user/Techcable)
2023-05-11 15:34:28 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Ping timeout: 240 seconds)
2023-05-11 15:38:24 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-05-11 15:39:39 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-11 15:40:08 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2023-05-11 15:40:51 +0200acidjnk(~acidjnk@p200300d6e7072f63d1111b83d6638be4.dip0.t-ipconnect.de)
2023-05-11 15:44:13 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-11 15:44:13 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-11 15:44:13 +0200wroathe(~wroathe@user/wroathe)
2023-05-11 15:45:48 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-11 15:46:58 +0200son0p(~ff@181.136.122.143) (Ping timeout: 268 seconds)
2023-05-11 15:49:05 +0200dsrt^(~dsrt@73.237.206.60) (Ping timeout: 246 seconds)
2023-05-11 15:49:48 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2023-05-11 15:51:21 +0200Guest51(~Guest51@69-165-220-190.dsl.teksavvy.com)
2023-05-11 15:58:19 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec)
2023-05-11 16:02:14 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-05-11 16:02:49 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de)
2023-05-11 16:03:13 +0200fizbin(~fizbin@user/fizbin)
2023-05-11 16:04:49 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 256 seconds)
2023-05-11 16:11:31 +0200accord(uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-05-11 16:11:57 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:511d:d8dc:88ae:f967) (Quit: caryhartline)
2023-05-11 16:16:13 +0200fireking4(~karl@112.206.65.164)
2023-05-11 16:18:10 +0200 <fireking4> What sort of projects do you work on right now?
2023-05-11 16:18:41 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-05-11 16:29:04 +0200mark_(~mark@2603-7000-da43-eccc-5dec-51d9-44db-59fc.res6.spectrum.com)
2023-05-11 16:29:28 +0200mark_Hounded
2023-05-11 16:30:28 +0200Hounded(~mark@2603-7000-da43-eccc-5dec-51d9-44db-59fc.res6.spectrum.com) (Client Quit)
2023-05-11 16:30:46 +0200Hounded(~mark@2603-7000-da43-eccc-5dec-51d9-44db-59fc.res6.spectrum.com)
2023-05-11 16:30:59 +0200HoundedHounded1969
2023-05-11 16:33:47 +0200gurkenglas(~gurkengla@dynamic-046-114-179-047.46.114.pool.telefonica.de) (Ping timeout: 264 seconds)
2023-05-11 16:33:51 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec)
2023-05-11 16:38:15 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 256 seconds)
2023-05-11 16:42:44 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:fc15:d4ea:f20e:7419)
2023-05-11 16:48:13 +0200 <merijn> man...why did network get rid of iNADDR_ANY
2023-05-11 16:49:35 +0200 <geekosaur> isn't that network-bsd?
2023-05-11 16:50:19 +0200 <merijn> No?
2023-05-11 16:50:34 +0200 <merijn> geekosaur: It's a constant that you pass to bind()
2023-05-11 16:51:04 +0200 <merijn> The deprecation notice says "use getAddrInfo", but that's dumb, because AFAIK it's impossible to get the same behaviour with getAddrInfo
2023-05-11 16:51:06 +0200 <geekosaur> oh, should be `Network.Socket` but indeed it seems to be missing
2023-05-11 16:52:14 +0200 <merijn> It was deprecated and then removed in 3.0
2023-05-11 16:52:24 +0200 <merijn> But I don't understand why
2023-05-11 16:52:49 +0200 <merijn> aNY_PORT was replaced with defaultPort, which I can get
2023-05-11 16:53:12 +0200 <merijn> But now I need to do hacky shit like manually building a 0.0.0.0 address instead of a nicely named constant
2023-05-11 16:53:27 +0200 <geekosaur> looks like `AI_PASSIVE` is supposed to do that now?
2023-05-11 16:55:31 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
2023-05-11 16:59:05 +0200CiaoSen(~Jura@dynamic-046-114-222-182.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-05-11 17:02:30 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-05-11 17:03:07 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec)
2023-05-11 17:03:08 +0200ocharles[m](~ocharlesm@2001:470:69fc:105::3:5899)
2023-05-11 17:03:32 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) (Remote host closed the connection)
2023-05-11 17:03:51 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net)
2023-05-11 17:07:54 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 265 seconds)
2023-05-11 17:12:38 +0200 <merijn> Well, first need to excise an 11 year old package from the code to see if that makes it work :p
2023-05-11 17:15:09 +0200russell`(~user@67.21.186.139)
2023-05-11 17:15:27 +0200russell`(~user@67.21.186.139) ()
2023-05-11 17:17:39 +0200fireking4(~karl@112.206.65.164) (WeeChat 4.0.0-dev)
2023-05-11 17:18:17 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-05-11 17:19:16 +0200nate2(~nate@98.45.169.16)
2023-05-11 17:20:02 +0200vpan(~0@mail.elitnet.lt) (Quit: Leaving.)
2023-05-11 17:20:54 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2023-05-11 17:22:56 +0200strugglingCrab(~strugglin@2a02:a03f:acfa:b800:78f8:196d:2cf4:70c5)
2023-05-11 17:23:01 +0200freeside_(~mengwong@103.252.202.151)
2023-05-11 17:23:59 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-11 17:23:59 +0200Guest51(~Guest51@69-165-220-190.dsl.teksavvy.com) (Quit: Client closed)
2023-05-11 17:27:47 +0200fizbin(~fizbin@user/fizbin) (Ping timeout: 246 seconds)
2023-05-11 17:28:23 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2023-05-11 17:28:43 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-11 17:29:39 +0200 <d3mon> is there a function in the base package which can be used to split a string into the substrings which appear between a particular sequence of characters?
2023-05-11 17:29:59 +0200 <d3mon> in the input stream, three spaces indicates something special and different from a single space
2023-05-11 17:30:07 +0200 <d3mon> so I need to split on three spaces but not on single spaces
2023-05-11 17:30:12 +0200sagax(~sagax_nb@user/sagax)
2023-05-11 17:30:23 +0200 <ncf> @hackage split
2023-05-11 17:30:23 +0200 <lambdabot> https://hackage.haskell.org/package/split
2023-05-11 17:30:28 +0200 <c_wraith> d3mon: not easily. For doing that sort of thing easily, I'd go to the split package
2023-05-11 17:31:26 +0200zmt00(~zmt00@user/zmt00)
2023-05-11 17:32:18 +0200Sgeo(~Sgeo@user/sgeo)
2023-05-11 17:33:21 +0200 <d3mon> oh, it looks like the `split` package is part of the standard library now
2023-05-11 17:33:52 +0200motherfsck(~motherfsc@user/motherfsck)
2023-05-11 17:34:40 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec)
2023-05-11 17:34:41 +0200 <c_wraith> It doesn't come with ghc... What other definition of "standard library" are you using?
2023-05-11 17:35:09 +0200azimut_(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-05-11 17:35:33 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-05-11 17:35:34 +0200 <tomsmeding> you've got to love the package description of 'split'
2023-05-11 17:36:07 +0200 <c_wraith> oh no. it has a typo in the word "diverse"
2023-05-11 17:36:08 +0200acidjnk(~acidjnk@p200300d6e7072f63d1111b83d6638be4.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-05-11 17:37:24 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:2872:f96c:b2e6:63a4) (Quit: WeeChat 2.8)
2023-05-11 17:37:35 +0200 <tomsmeding> c_wraith: fairly sure that's intentional https://en.wiktionary.org/wiki/divers#Etymology_2
2023-05-11 17:37:56 +0200 <c_wraith> oh, huh. I had no idea that was an archaic spelling. ok then!
2023-05-11 17:38:05 +0200 <tomsmeding> _very_ archaic I think
2023-05-11 17:38:30 +0200 <tomsmeding> it does stand out as being more non-standard than the rest
2023-05-11 17:38:59 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 246 seconds)
2023-05-11 17:39:11 +0200 <c_wraith> it hurts that it is a modern spelling of a totally unrelated word
2023-05-11 17:40:41 +0200 <tomsmeding> not to be confused with https://malazan.fandom.com/wiki/D%27ivers
2023-05-11 17:41:05 +0200 <d3mon> oh okay oops. Well it's included with whatever set of modules this puzzle website has included by default
2023-05-11 17:41:16 +0200 <tomsmeding> which puzzle website?
2023-05-11 17:41:27 +0200 <d3mon> codewars.com
2023-05-11 17:41:38 +0200 <tomsmeding> ah the kata stuff
2023-05-11 17:41:53 +0200 <c_wraith> yeah, it's a very common package to use for that sort of thing
2023-05-11 17:42:00 +0200 <c_wraith> So it's good that they have it available
2023-05-11 17:42:18 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998)
2023-05-11 17:44:15 +0200fryguybob(~fryguybob@cpe-24-94-50-22.stny.res.rr.com) (Ping timeout: 260 seconds)
2023-05-11 17:46:54 +0200opticblast(~Thunderbi@172.58.86.143)
2023-05-11 17:48:31 +0200merijn(~merijn@86.86.29.250) (Ping timeout: 240 seconds)
2023-05-11 17:51:41 +0200 <d3mon> yeah
2023-05-11 17:52:25 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 240 seconds)
2023-05-11 17:56:06 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-05-11 18:01:04 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-05-11 18:06:02 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2023-05-11 18:06:13 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) (Remote host closed the connection)
2023-05-11 18:06:33 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net)
2023-05-11 18:08:31 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec)
2023-05-11 18:12:04 +0200econo(uid147250@user/econo)
2023-05-11 18:12:08 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-05-11 18:12:20 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2023-05-11 18:13:23 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 264 seconds)
2023-05-11 18:14:19 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-05-11 18:16:00 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 248 seconds)
2023-05-11 18:16:26 +0200freeside_(~mengwong@103.252.202.151)
2023-05-11 18:20:14 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-11 18:21:11 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 264 seconds)
2023-05-11 18:21:59 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-05-11 18:22:41 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec)
2023-05-11 18:30:18 +0200jero98772(~jero98772@2800:484:1d84:9000::2)
2023-05-11 18:30:51 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-05-11 18:34:17 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 246 seconds)
2023-05-11 18:39:52 +0200ubert(~Thunderbi@2a02:8109:abc0:6434:a17e:7764:ca3b:275) (Remote host closed the connection)
2023-05-11 18:41:10 +0200d3mon(~d3mon@2a00:23c7:aa92:5c01:482e:ed22:ce04:3bef) (Quit: Client closed)
2023-05-11 18:44:01 +0200mei(~mei@user/mei) (Remote host closed the connection)
2023-05-11 18:44:52 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-05-11 18:49:59 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds)
2023-05-11 18:52:16 +0200mei(~mei@user/mei)
2023-05-11 18:52:38 +0200freeside_(~mengwong@103.252.202.151)
2023-05-11 18:54:39 +0200shapr`(~user@76.29.230.19)
2023-05-11 18:54:49 +0200 <shapr`> @pl traverse . flip fmap
2023-05-11 18:54:49 +0200 <lambdabot> traverse . flip fmap
2023-05-11 18:54:54 +0200shapr`shapr
2023-05-11 18:55:41 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds)
2023-05-11 18:56:47 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
2023-05-11 19:00:11 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec)
2023-05-11 19:03:07 +0200byte(~byte@user/byte) (Quit: Quitting...)
2023-05-11 19:03:39 +0200byte(~byte@user/byte)
2023-05-11 19:04:19 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-05-11 19:04:52 +0200nick4(~nick@2600:8807:9103:b700:497e:4b24:ec2b:6bec) (Ping timeout: 265 seconds)
2023-05-11 19:05:15 +0200mechap(~mechap@user/mechap)
2023-05-11 19:08:11 +0200Guest97(~Guest97@host86-162-153-188.range86-162.btcentralplus.com)
2023-05-11 19:09:21 +0200Guest97(~Guest97@host86-162-153-188.range86-162.btcentralplus.com) (Client Quit)
2023-05-11 19:09:35 +0200Guest97(~Guest97@host86-162-153-188.range86-162.btcentralplus.com)
2023-05-11 19:13:52 +0200shapr`(~user@76.29.230.19)
2023-05-11 19:15:35 +0200shapr(~user@76.29.230.19) (Ping timeout: 246 seconds)
2023-05-11 19:15:41 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2023-05-11 19:17:32 +0200byte`(~byte@user/byte)
2023-05-11 19:18:23 +0200byte(~byte@user/byte) (Ping timeout: 240 seconds)
2023-05-11 19:18:53 +0200jero98772(~jero98772@2800:484:1d84:9000::2) (Ping timeout: 265 seconds)
2023-05-11 19:19:53 +0200ubert(~Thunderbi@p200300ecdf18b6370daf7c8ea36938d7.dip0.t-ipconnect.de)
2023-05-11 19:29:39 +0200strugglingCrab(~strugglin@2a02:a03f:acfa:b800:78f8:196d:2cf4:70c5) (Quit: Client closed)
2023-05-11 19:30:01 +0200jero98772(~jero98772@2800:484:1d84:9000::3)
2023-05-11 19:31:57 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:fc15:d4ea:f20e:7419) (Quit: caryhartline)
2023-05-11 19:35:01 +0200caryhartline(~caryhartl@107.140.218.181)
2023-05-11 19:45:06 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-05-11 19:45:21 +0200mbuf(~Shakthi@49.207.178.186)
2023-05-11 19:45:34 +0200shapr``(~user@76.29.230.19)
2023-05-11 19:47:11 +0200shapr`(~user@76.29.230.19) (Ping timeout: 240 seconds)
2023-05-11 19:47:56 +0200ub(~Thunderbi@p548c8bbe.dip0.t-ipconnect.de)
2023-05-11 19:49:01 +0200ubert(~Thunderbi@p200300ecdf18b6370daf7c8ea36938d7.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-05-11 19:49:01 +0200ububert
2023-05-11 19:49:14 +0200sa_sa
2023-05-11 19:50:52 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-05-11 19:54:40 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-05-11 19:56:04 +0200titibandit(~titibandi@user/titibandit) (Remote host closed the connection)
2023-05-11 20:00:47 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-05-11 20:04:11 +0200caryhartline(~caryhartl@107.140.218.181) (Quit: caryhartline)
2023-05-11 20:08:17 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-05-11 20:08:17 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-05-11 20:08:17 +0200wroathe(~wroathe@user/wroathe)
2023-05-11 20:10:36 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 265 seconds)
2023-05-11 20:11:06 +0200oneeyedalien(~oneeyedal@103.21.127.60)
2023-05-11 20:13:37 +0200titibandit(~titibandi@user/titibandit)
2023-05-11 20:17:06 +0200merijn(~merijn@86.86.29.250)
2023-05-11 20:20:23 +0200evincar(~evincar@user/evincar)
2023-05-11 20:23:15 +0200oneeyedalien(~oneeyedal@103.21.127.60) (Read error: Connection reset by peer)
2023-05-11 20:28:15 +0200SauvinZymurgy
2023-05-11 20:28:35 +0200Zymurgy(~sauvin@user/Sauvin) (Changing host)
2023-05-11 20:28:35 +0200Zymurgy(~sauvin@about/linux/staff/zymurgy)
2023-05-11 20:30:25 +0200opticblast(~Thunderbi@172.58.86.143) (Ping timeout: 265 seconds)
2023-05-11 20:31:10 +0200caryhartline(~caryhartl@2600:1700:2d0:8d30:b59b:d427:e374:11eb)
2023-05-11 20:32:01 +0200ubert(~Thunderbi@p548c8bbe.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-05-11 20:32:24 +0200ubert(~Thunderbi@p548c8bbe.dip0.t-ipconnect.de)
2023-05-11 20:33:26 +0200freeside_(~mengwong@103.252.202.151)
2023-05-11 20:38:02 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
2023-05-11 20:39:05 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2023-05-11 20:39:40 +0200bli2ss(~quassel@190.78.156.89.rev.sfr.net)
2023-05-11 20:44:02 +0200mbuf(~Shakthi@49.207.178.186) (Quit: Leaving)
2023-05-11 20:49:46 +0200shapr```(~user@76.29.230.19)
2023-05-11 20:50:01 +0200merijn(~merijn@86.86.29.250) (Ping timeout: 240 seconds)
2023-05-11 20:51:11 +0200shapr``(~user@76.29.230.19) (Ping timeout: 240 seconds)
2023-05-11 20:55:22 +0200bollu(~bollu@159.65.151.13) (Quit: Ping timeout (120 seconds))
2023-05-11 20:55:38 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-05-11 20:55:48 +0200bollu(~bollu@159.65.151.13)
2023-05-11 20:56:50 +0200noteness_(~noteness@user/noteness)
2023-05-11 20:57:16 +0200ystael(~ystael@user/ystael) (Quit: Lost terminal)
2023-05-11 20:57:29 +0200noteness(~noteness@user/noteness) (Ping timeout: 246 seconds)
2023-05-11 21:00:08 +0200ystael(~ystael@user/ystael)
2023-05-11 21:05:39 +0200ub(~Thunderbi@p548c8bbe.dip0.t-ipconnect.de)
2023-05-11 21:07:01 +0200ubert(~Thunderbi@p548c8bbe.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2023-05-11 21:07:01 +0200ububert
2023-05-11 21:15:17 +0200gmg(~user@user/gehmehgeh)
2023-05-11 21:20:31 +0200titibandit(~titibandi@user/titibandit) (Ping timeout: 240 seconds)
2023-05-11 21:20:48 +0200nate2(~nate@98.45.169.16)
2023-05-11 21:22:10 +0200 <tomsmeding> :t traverse . flip fmap
2023-05-11 21:22:11 +0200 <lambdabot> (Traversable t, Applicative f) => f a -> t (a -> b) -> f (t b)
2023-05-11 21:22:47 +0200evincar(~evincar@user/evincar) (Ping timeout: 240 seconds)
2023-05-11 21:24:36 +0200zeenk(~zeenk@2a02:2f04:a105:f00::7fe)
2023-05-11 21:25:35 +0200nate2(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-05-11 21:29:41 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de)
2023-05-11 21:30:58 +0200 <yin> :t flip
2023-05-11 21:30:59 +0200 <lambdabot> (a -> b -> c) -> b -> a -> c
2023-05-11 21:31:07 +0200 <yin> :t flip flip
2023-05-11 21:31:08 +0200 <lambdabot> b -> (a -> b -> c) -> a -> c
2023-05-11 21:31:14 +0200 <yin> ;t flip flip flip
2023-05-11 21:31:26 +0200 <yin> :t flip flip flip
2023-05-11 21:31:27 +0200 <lambdabot> (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2
2023-05-11 21:31:34 +0200 <yin> :t flip flip flip flip
2023-05-11 21:31:35 +0200 <lambdabot> (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2
2023-05-11 21:31:43 +0200 <yin> :t flip flip flip flip flip
2023-05-11 21:31:44 +0200 <lambdabot> (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2
2023-05-11 21:32:20 +0200 <yin> :t flip flip flip flip flip flip
2023-05-11 21:32:21 +0200 <lambdabot> (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2
2023-05-11 21:32:30 +0200 <yin> fun
2023-05-11 21:33:27 +0200 <Rembane> Lovely machine you found there.
2023-05-11 21:33:31 +0200evincar(~evincar@user/evincar)
2023-05-11 21:34:39 +0200 <yin> Rembane: wdym machine?
2023-05-11 21:36:05 +0200 <Rembane> yin: The thing that produces more elaborate functions the more you add flip to it.
2023-05-11 21:36:14 +0200 <ncf> now do fmap (in your own interpreter)
2023-05-11 21:36:23 +0200jjb(~jjb@user/jjb)
2023-05-11 21:36:29 +0200 <geekosaur> you'll note it locked up at 3
2023-05-11 21:36:58 +0200 <geekosaur> you can add as many more flips as you like, the type doesn't change after that
2023-05-11 21:37:04 +0200bli2ss(~quassel@190.78.156.89.rev.sfr.net) (Read error: Connection reset by peer)
2023-05-11 21:37:44 +0200 <Rembane> Oh. I didn't pay attention. Is there a fix point in there somehwere?
2023-05-11 21:37:49 +0200 <yin> ncf: my head hurts
2023-05-11 21:38:59 +0200 <ncf> flip flip flip flip == flip flip flip
2023-05-11 21:40:26 +0200 <ski> (s/==/=/)
2023-05-11 21:44:23 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-05-11 21:44:27 +0200 <ncf> there's probably a neat visualisation with string diagrams lurking
2023-05-11 21:44:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Remote host closed the connection)
2023-05-11 21:47:23 +0200titibandit(~titibandi@user/titibandit)
2023-05-11 21:49:09 +0200 <yin> :t foldr1 (.) (repeat flip)
2023-05-11 21:49:10 +0200 <lambdabot> (a -> a -> c) -> a -> a -> c
2023-05-11 21:49:12 +0200 <yin> hmm
2023-05-11 21:52:46 +0200Guest75(~Guest75@cpe-172-116-174-226.socal.res.rr.com)
2023-05-11 21:53:21 +0200Guest75(~Guest75@cpe-172-116-174-226.socal.res.rr.com) (Client Quit)
2023-05-11 21:55:18 +0200acidjnk(~acidjnk@p200300d6e7072f63d1111b83d6638be4.dip0.t-ipconnect.de)
2023-05-11 21:56:23 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
2023-05-11 21:57:23 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-05-11 21:58:08 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-902b-4900-8b38-e602.rev.sfr.net) (Ping timeout: 245 seconds)
2023-05-11 22:04:21 +0200 <ncf> :t fix flip
2023-05-11 22:04:22 +0200 <lambdabot> a -> a -> c
2023-05-11 22:05:06 +0200 <ncf> (note that the flips are right-associative here, whereas in the examples before they were left-associative)
2023-05-11 22:05:48 +0200tubogram447(~tubogram@user/tubogram) (*.net *.split)
2023-05-11 22:05:48 +0200Axman6(~Axman6@user/axman6) (*.net *.split)
2023-05-11 22:06:10 +0200tubogram447(~tubogram@user/tubogram)
2023-05-11 22:06:10 +0200Axman6(~Axman6@user/axman6)
2023-05-11 22:08:47 +0200 <ski> @type fix ($ flip)
2023-05-11 22:08:48 +0200 <lambdabot> error:
2023-05-11 22:08:48 +0200 <lambdabot> • Occurs check: cannot construct the infinite type:
2023-05-11 22:08:48 +0200 <lambdabot> a ~ ((a0 -> b0 -> c0) -> b0 -> a0 -> c0) -> a
2023-05-11 22:12:47 +0200myxokeph(~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) (Ping timeout: 240 seconds)
2023-05-11 22:13:08 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-05-11 22:14:06 +0200trev(~trev@user/trev) (Quit: trev)
2023-05-11 22:14:24 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-05-11 22:15:11 +0200evincar(~evincar@user/evincar) (Ping timeout: 264 seconds)
2023-05-11 22:18:15 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-05-11 22:27:55 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-05-11 22:31:36 +0200jade[m]jadeOld[m]
2023-05-11 22:36:33 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-05-11 22:40:05 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-05-11 22:41:29 +0200oo_miguel(~Thunderbi@77.252.47.78) (Ping timeout: 256 seconds)
2023-05-11 22:45:20 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998)
2023-05-11 22:47:02 +0200shapr```shapr`
2023-05-11 22:49:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:11ad:4d6f:a0ef:a998) (Ping timeout: 256 seconds)
2023-05-11 22:50:27 +0200diod(~diod@142.188.218.35)
2023-05-11 22:50:32 +0200diod(~diod@142.188.218.35) ()
2023-05-11 22:51:57 +0200 <tomsmeding> flip^4 == flip^3 is easily seen via a dumb observation: flip = \f x y -> f y x, hence flip flip = \x y -> flip y x. Hence (flip flip1) flip2 flip3 == flip1 flip3 flip2
2023-05-11 22:52:23 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-05-11 22:53:14 +0200 <tomsmeding> which yin taught me last time!
2023-05-11 22:53:41 +0200tomsmedinglooks askance at yin
2023-05-11 22:54:22 +0200 <tomsmeding> https://ircbrowse.tomsmeding.com/day/lchaskell/2022/12/02?id=795469#trid795469
2023-05-11 23:01:06 +0200freeside_(~mengwong@103.252.202.151)
2023-05-11 23:04:22 +0200fernand(uid551405@id-551405.tinside.irccloud.com)
2023-05-11 23:07:59 +0200freeside_(~mengwong@103.252.202.151) (Ping timeout: 264 seconds)
2023-05-11 23:18:24 +0200fizbin(~fizbin@user/fizbin)
2023-05-11 23:18:50 +0200fizbin(~fizbin@user/fizbin) (Read error: Connection reset by peer)
2023-05-11 23:20:31 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-05-11 23:21:09 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 256 seconds)
2023-05-11 23:32:18 +0200Guest97(~Guest97@host86-162-153-188.range86-162.btcentralplus.com) (Quit: Client closed)
2023-05-11 23:37:14 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2023-05-11 23:37:59 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net)
2023-05-11 23:46:02 +0200tubogram447(~tubogram@user/tubogram) (*.net *.split)
2023-05-11 23:46:02 +0200Axman6(~Axman6@user/axman6) (*.net *.split)
2023-05-11 23:46:10 +0200tubogram447(~tubogram@user/tubogram)
2023-05-11 23:46:10 +0200Axman6(~Axman6@user/axman6)
2023-05-11 23:51:26 +0200turlando_(~turlando@user/turlando) (Read error: Connection reset by peer)
2023-05-11 23:53:36 +0200jade[m](~jade256th@2001:470:69fc:105::3:58df)
2023-05-11 23:53:49 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2023-05-11 23:56:06 +0200turlando(~turlando@user/turlando)
2023-05-11 23:57:55 +0200biberu(~biberu@user/biberu)
2023-05-11 23:59:06 +0200taupiqueur(~taupiqueu@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net)
2023-05-11 23:59:44 +0200alexherbo2(~alexherbo@2a02-842a-8180-4601-fc12-968e-5e2f-d273.rev.sfr.net)