2022/12/29

2022-12-29 00:00:20 +0000coot(~coot@213.134.171.3) (Quit: coot)
2022-12-29 00:06:51 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2022-12-29 00:09:16 +0000mikoto-chan(~mikoto-ch@164.5.249.78)
2022-12-29 00:09:24 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2022-12-29 00:11:28 +0000 <monochrom> Oh haha GHC2021 turns on simple subsumption and I'm hit by it. That's what ruined my code. PolyKinds was OK.
2022-12-29 00:11:50 +0000 <monochrom> I thought I would never be a victim. :)
2022-12-29 00:11:53 +0000 <geekosaur> any ghc >= 9 turns it on
2022-12-29 00:12:10 +0000 <geekosaur> DeepSubsumption is a recent addition to turn it back off
2022-12-29 00:12:35 +0000 <DigitalKiwi> what is subsumption?
2022-12-29 00:14:10 +0000 <geekosaur> I'm … not entirely clear on that aside from it's needed for QuickLook (9.0+ ImpredicativeTypes) to work and it tends to cause problems for things that aren't eta-expanded
2022-12-29 00:15:16 +0000 <geekosaur> (I wonder if they considered turning DeepSubsumption on by default and turning it off if ImpredicativeTypes is enabled. but I suspect they're hoping people will adapt to the new regime)
2022-12-29 00:15:34 +0000mmhat(~mmh@p200300f1c721be80ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1)
2022-12-29 00:15:40 +0000 <geekosaur> impredicative types are above my pay grade
2022-12-29 00:16:00 +0000 <DigitalKiwi> what are impredicativetypes
2022-12-29 00:16:58 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Remote host closed the connection)
2022-12-29 00:17:34 +0000cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2022-12-29 00:18:34 +0000 <geekosaur> https://wiki.haskell.org/Impredicative_types
2022-12-29 00:21:15 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-12-29 00:21:15 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-12-29 00:21:15 +0000wroathe(~wroathe@user/wroathe)
2022-12-29 00:22:18 +0000 <ggVGc> some of these GHC extensions are getting quite crazy
2022-12-29 00:23:02 +0000 <ggVGc> I play in the kids corner still. Managed quite recently to find my first use-case for type families
2022-12-29 00:23:25 +0000 <geekosaur[m]> impredicative types have been in ghc for decades. they weren't stable though because about the only thoing you could rely on was runST $ …
2022-12-29 00:23:48 +0000alskdf(~alskdf@dhcp-108-168-13-112.cable.user.start.ca)
2022-12-29 00:24:08 +0000 <geekosaur[m]> with 9.0 the QuickLook algorithm was implemented, which gave impredicative types a solid typechecking story
2022-12-29 00:24:45 +0000alskdf(~alskdf@dhcp-108-168-13-112.cable.user.start.ca) (Client Quit)
2022-12-29 00:27:16 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 00:31:53 +0000Guest323(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2022-12-29 00:33:30 +0000 <monochrom> I wonder if, in the first place, it would be better if ImpredicativeTypes turned on simple subsumption but otherwise deep subsumption.
2022-12-29 00:35:14 +0000 <monochrom> But OK, we didn't know, hell I didn't know, hindsight etc. :)
2022-12-29 00:35:59 +0000jmdaemon(~jmdaemon@user/jmdaemon)
2022-12-29 00:36:06 +0000 <geekosaur> that is what I said in the parenthetical above
2022-12-29 00:36:37 +0000 <monochrom> Yeah I didn't read.
2022-12-29 00:36:43 +0000 <geekosaur> also including my conclusion that they really want people to just get used to it and DeepSubsumption is intended to be a temporary bandaid
2022-12-29 00:36:57 +0000 <geekosaur> of course, there is nothing so permanent as a temporary bandaid…
2022-12-29 00:41:05 +0000finsternis(~X@23.226.237.192)
2022-12-29 00:46:23 +0000acidjnk(~acidjnk@p200300d6e7137a42b47c8252f7d3d407.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-12-29 00:56:43 +0000 <monochrom> Oh derp, when using TypeApplication, it has to be "@Int" not "@ Int"...
2022-12-29 00:57:43 +0000danso(~danso@danso.ca) (Quit: ZNC - https://znc.in)
2022-12-29 00:59:16 +0000danso(~danso@danso.ca)
2022-12-29 01:02:48 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2022-12-29 01:10:58 +0000TonyStone(~TonyStone@cpe-74-76-57-186.nycap.res.rr.com)
2022-12-29 01:12:02 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-12-29 01:12:50 +0000random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-12-29 01:15:16 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 01:18:09 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-12-29 01:18:55 +0000 <ggVGc> I think I'm dumb... From the wiki page on impredicative types, it says: "and (forall a. [a] -> Int) -> Int really is different from forall a. ([a] -> Int) -> Int."
2022-12-29 01:19:04 +0000 <ggVGc> I can't see why "really is" different
2022-12-29 01:19:07 +0000 <ggVGc> in practice
2022-12-29 01:19:24 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 01:19:45 +0000 <geekosaur> in the former, you get to specify the `a`. in the latter, the caller does
2022-12-29 01:19:54 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2022-12-29 01:19:55 +0000 <ggVGc> oh right
2022-12-29 01:19:59 +0000 <ggVGc> yeah that makes sense
2022-12-29 01:20:02 +0000 <monochrom> At that level, it's just rank-n types, no impredicativity required.
2022-12-29 01:20:24 +0000 <monochrom> SImpler example: ((forall a. a) -> Int) vs (forall a. a -> Int)
2022-12-29 01:20:45 +0000 <monochrom> Impredicativity is when you start talking about [forall a. a] too.
2022-12-29 01:21:09 +0000xff0x(~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 260 seconds)
2022-12-29 01:24:14 +0000tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2022-12-29 01:31:26 +0000 <glguy> Normally when you instantiate a type variable you can't instantiate it with a quantifier (forall)
2022-12-29 01:32:03 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 01:33:19 +0000shapr(~user@68.54.166.125) (Read error: Connection reset by peer)
2022-12-29 01:33:32 +0000shapr(~user@68.54.166.125)
2022-12-29 01:37:41 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Quit: mizlan)
2022-12-29 01:37:54 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 01:39:48 +0000beefbambi(~beefbambi@183.82.177.237) (Ping timeout: 268 seconds)
2022-12-29 01:43:05 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-29 01:45:44 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-12-29 01:46:31 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-29 01:48:05 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
2022-12-29 01:48:27 +0000 <dgpratt[m]> @pl w r c = (map fst . filter snd) (zip r c)
2022-12-29 01:48:27 +0000 <lambdabot> w = ((map fst . filter snd) .) . zip
2022-12-29 01:48:55 +0000 <dgpratt[m]> @pl w c r= (map fst . filter snd) (zip r c)
2022-12-29 01:48:55 +0000 <lambdabot> w = ((map fst . filter snd) .) . flip zip
2022-12-29 01:50:03 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
2022-12-29 01:50:20 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 01:52:45 +0000VY2(~user@213.24.126.116)
2022-12-29 01:53:49 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
2022-12-29 01:58:09 +0000beefbambi(~beefbambi@183.82.204.167)
2022-12-29 02:02:03 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 02:04:28 +0000vlkrs[m](~vlkrsmatr@2001:470:69fc:105::2:e806)
2022-12-29 02:06:36 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
2022-12-29 02:06:45 +0000LemanR(~LemanR@2607:fb91:bd20:9480:a2fd:aa32:5527:e9b5)
2022-12-29 02:07:16 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
2022-12-29 02:07:43 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-12-29 02:07:51 +0000paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 02:07:51 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 02:08:29 +0000LemanR(~LemanR@2607:fb91:bd20:9480:a2fd:aa32:5527:e9b5) (Client Quit)
2022-12-29 02:10:21 +0000LemanR(~LemanR@2607:fb91:bd20:9480:a2fd:aa32:5527:e9b5)
2022-12-29 02:12:40 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-12-29 02:17:06 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2022-12-29 02:17:55 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
2022-12-29 02:20:32 +0000thongpv(~thongpv87@14.246.240.163)
2022-12-29 02:25:36 +0000paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru)
2022-12-29 02:29:30 +0000mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 252 seconds)
2022-12-29 02:30:19 +0000paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Ping timeout: 260 seconds)
2022-12-29 02:54:35 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 246 seconds)
2022-12-29 02:56:21 +0000mikoto-chan(~mikoto-ch@164.5.249.78)
2022-12-29 02:57:02 +0000thongpv(~thongpv87@14.246.240.163) (Ping timeout: 246 seconds)
2022-12-29 03:01:14 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 03:02:11 +0000fizbin(~fizbin@user/fizbin)
2022-12-29 03:09:37 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-12-29 03:09:37 +0000finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-12-29 03:09:37 +0000finn_elijaFinnElija
2022-12-29 03:10:34 +0000jinsun(~jinsun@user/jinsun) (Ping timeout: 252 seconds)
2022-12-29 03:11:20 +0000jinsun(~jinsun@user/jinsun)
2022-12-29 03:12:56 +0000jinsun__(~jinsun@user/jinsun)
2022-12-29 03:12:56 +0000jinsun(~jinsun@user/jinsun) (Killed (zinc.libera.chat (Nickname regained by services)))
2022-12-29 03:12:56 +0000jinsun__jinsun
2022-12-29 03:17:02 +0000Kaipei(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 246 seconds)
2022-12-29 03:19:23 +0000td_(~td@83.135.9.57) (Ping timeout: 264 seconds)
2022-12-29 03:21:12 +0000td_(~td@83.135.9.29)
2022-12-29 03:22:28 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2022-12-29 03:31:27 +0000ddellacosta(~ddellacos@143.244.47.68) (Ping timeout: 255 seconds)
2022-12-29 03:31:27 +0000razetime(~Thunderbi@49.207.228.176)
2022-12-29 03:38:32 +0000Guest32(~Guest32@176.122.87.241)
2022-12-29 03:38:49 +0000Guest32(~Guest32@176.122.87.241) (Client Quit)
2022-12-29 03:41:24 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
2022-12-29 03:42:48 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::)
2022-12-29 03:42:51 +0000Feuermagier(~Feuermagi@user/feuermagier)
2022-12-29 03:51:04 +0000razetime(~Thunderbi@49.207.228.176) (Ping timeout: 260 seconds)
2022-12-29 03:51:32 +0000jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2022-12-29 03:54:51 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-12-29 03:58:09 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
2022-12-29 03:58:12 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-12-29 04:03:57 +0000VY2(~user@213.24.126.116) (Remote host closed the connection)
2022-12-29 04:05:27 +0000bjourne(~bjorn@94.191.136.87.mobile.tre.se) (Read error: Connection reset by peer)
2022-12-29 04:07:45 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2022-12-29 04:12:13 +0000wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (Ping timeout: 252 seconds)
2022-12-29 04:13:00 +0000fizbin(~fizbin@user/fizbin) (Ping timeout: 260 seconds)
2022-12-29 04:17:42 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
2022-12-29 04:22:47 +0000TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds)
2022-12-29 04:26:00 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 04:26:04 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 04:27:09 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 04:30:36 +0000TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-12-29 04:30:58 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2022-12-29 04:33:47 +0000justsomeguy(~justsomeg@user/justsomeguy)
2022-12-29 04:41:49 +0000beefbambi(~beefbambi@183.82.204.167) (Read error: Connection reset by peer)
2022-12-29 04:42:09 +0000beefbambi(~beefbambi@183.82.204.167)
2022-12-29 04:46:21 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 04:52:26 +0000beefbambi(~beefbambi@183.82.204.167) (Read error: Connection reset by peer)
2022-12-29 04:53:04 +0000beefbambi(~beefbambi@183.82.204.167)
2022-12-29 05:03:10 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-12-29 05:04:53 +0000mbuf(~Shakthi@49.204.117.236)
2022-12-29 05:05:46 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-29 05:15:02 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-12-29 05:19:17 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-29 05:20:57 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-12-29 05:24:29 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-12-29 05:25:57 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-12-29 05:30:05 +0000razetime(~Thunderbi@49.207.228.176)
2022-12-29 05:32:15 +0000beefbambi(~beefbambi@183.82.204.167) (Read error: Connection reset by peer)
2022-12-29 05:32:33 +0000beefbambi(~beefbambi@138.199.22.98)
2022-12-29 05:39:56 +0000Kaipei(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2022-12-29 05:41:53 +0000wroathe(~wroathe@user/wroathe) (Quit: leaving)
2022-12-29 05:45:16 +0000Kaipei(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 272 seconds)
2022-12-29 05:49:31 +0000razetime(~Thunderbi@49.207.228.176) (Quit: razetime)
2022-12-29 05:49:50 +0000razetime(~Thunderbi@49.207.228.176)
2022-12-29 05:50:57 +0000razetime(~Thunderbi@49.207.228.176) (Client Quit)
2022-12-29 05:54:08 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 265 seconds)
2022-12-29 05:56:02 +0000beefbambi(~beefbambi@138.199.22.98) (Ping timeout: 272 seconds)
2022-12-29 05:59:11 +0000razetime(~Thunderbi@49.207.228.176)
2022-12-29 06:05:10 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-12-29 06:05:52 +0000beefbambi(~beefbambi@183.82.204.167)
2022-12-29 06:06:12 +0000nilradical(~nilradica@user/naso)
2022-12-29 06:06:13 +0000nilradical(~nilradica@user/naso) (Client Quit)
2022-12-29 06:06:20 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 06:11:32 +0000trev(~trev@user/trev)
2022-12-29 06:19:44 +0000nilradical(~nilradica@user/naso)
2022-12-29 06:20:09 +0000razetime(~Thunderbi@49.207.228.176) (Quit: razetime)
2022-12-29 06:20:09 +0000 <nilradical> i have a cabal project. how can i load app/Main.hs into the repl ?
2022-12-29 06:21:35 +0000razetime(~Thunderbi@49.207.228.176)
2022-12-29 06:22:09 +0000beefbambi(~beefbambi@183.82.204.167) (Ping timeout: 260 seconds)
2022-12-29 06:23:51 +0000beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2022-12-29 06:25:35 +0000raym(~ray@user/raym) (Ping timeout: 255 seconds)
2022-12-29 06:49:29 +0000johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2022-12-29 07:00:34 +0000Qudit(~user@user/Qudit) (Read error: Connection reset by peer)
2022-12-29 07:06:20 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2022-12-29 07:10:19 +0000titibandit(~titibandi@xdsl-89-0-163-79.nc.de)
2022-12-29 07:28:09 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 07:35:27 +0000wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2022-12-29 07:35:40 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 07:35:44 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2022-12-29 07:35:54 +0000jakalx(~jakalx@base.jakalx.net) ()
2022-12-29 07:37:41 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 07:38:15 +0000jakalx(~jakalx@base.jakalx.net)
2022-12-29 07:42:49 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:2a2c:b09a:c3a5:8048)
2022-12-29 07:44:36 +0000cheater(~Username@user/cheater)
2022-12-29 07:54:09 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds)
2022-12-29 07:59:22 +0000nilradical(~nilradica@user/naso) ()
2022-12-29 08:03:33 +0000bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-12-29 08:05:17 +0000Guest799(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-12-29 08:12:21 +0000gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-12-29 08:15:12 +0000lucerne(~lucerne@5.114.36.56)
2022-12-29 08:16:49 +0000perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2022-12-29 08:17:13 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2022-12-29 08:17:21 +0000lucerne(~lucerne@5.114.36.56) (Remote host closed the connection)
2022-12-29 08:21:15 +0000jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-12-29 08:24:29 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-12-29 08:30:23 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-12-29 08:30:52 +0000perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-12-29 08:32:03 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2022-12-29 08:33:50 +0000jargon(~jargon@174-22-197-118.phnx.qwest.net) (Remote host closed the connection)
2022-12-29 08:36:55 +0000shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-12-29 08:37:43 +0000Guest799(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2022-12-29 08:47:36 +0000cfricke(~cfricke@user/cfricke)
2022-12-29 08:49:48 +0000Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2022-12-29 08:58:26 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2022-12-29 09:00:04 +0000califax(~califax@user/califx) (Remote host closed the connection)
2022-12-29 09:01:03 +0000LemanR(~LemanR@2607:fb91:bd20:9480:a2fd:aa32:5527:e9b5) (Ping timeout: 260 seconds)
2022-12-29 09:01:04 +0000califax(~califax@user/califx)
2022-12-29 09:02:21 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 09:06:38 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2022-12-29 09:06:46 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2022-12-29 09:11:11 +0000L29Ah(~L29Ah@wikipedia/L29Ah)
2022-12-29 09:12:25 +0000raym(~ray@user/raym)
2022-12-29 09:18:42 +0000cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-12-29 09:19:06 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-12-29 09:19:39 +0000ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-29 09:25:12 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:3964:1012:a01c:6912) (Remote host closed the connection)
2022-12-29 09:26:12 +0000cheater(~Username@user/cheater)
2022-12-29 09:28:46 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 09:33:36 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 09:33:47 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 264 seconds)
2022-12-29 09:35:15 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 09:36:56 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 09:41:03 +0000Kaipei(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2022-12-29 09:41:15 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2022-12-29 09:47:51 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
2022-12-29 09:48:31 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 09:49:57 +0000cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2022-12-29 09:51:45 +0000cheater(~Username@user/cheater)
2022-12-29 09:52:34 +0000acidjnk(~acidjnk@p200300d6e7137a42305f770ee2a81388.dip0.t-ipconnect.de)
2022-12-29 09:58:35 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2022-12-29 09:58:41 +0000mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds)
2022-12-29 10:04:00 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 10:08:43 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2022-12-29 10:12:30 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 10:13:40 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 10:14:32 +0000`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net)
2022-12-29 10:17:18 +0000razetime(~Thunderbi@49.207.228.176) (Remote host closed the connection)
2022-12-29 10:21:23 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 10:24:14 +0000coot(~coot@213.134.171.3)
2022-12-29 10:25:09 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 10:25:40 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-12-29 10:26:30 +0000cheater_(~Username@user/cheater)
2022-12-29 10:27:32 +0000cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2022-12-29 10:27:36 +0000cheater_cheater
2022-12-29 10:27:52 +0000Lycurgus(~juan@user/Lycurgus)
2022-12-29 10:29:50 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2022-12-29 10:30:16 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2022-12-29 10:30:45 +0000Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-12-29 10:31:44 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
2022-12-29 10:32:49 +0000titibandit(~titibandi@xdsl-89-0-163-79.nc.de) (Remote host closed the connection)
2022-12-29 10:33:31 +0000Lord_of_Life_Lord_of_Life
2022-12-29 10:44:52 +0000mmhat(~mmh@p200300f1c721be80ee086bfffe095315.dip0.t-ipconnect.de)
2022-12-29 10:48:46 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-12-29 10:55:57 +0000Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2022-12-29 10:56:51 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 10:59:45 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 11:02:22 +0000xff0x(~xff0x@ai071162.d.east.v6connect.net)
2022-12-29 11:02:34 +0000v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds)
2022-12-29 11:05:14 +0000KaipeiKaiepi
2022-12-29 11:05:41 +0000__monty__(~toonn@user/toonn)
2022-12-29 11:06:18 +0000econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-12-29 11:08:14 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 11:08:33 +0000zeenk(~zeenk@2a02:2f04:a110:ac00::7fe)
2022-12-29 11:09:21 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 11:24:46 +0000fizbin(~fizbin@user/fizbin)
2022-12-29 11:24:59 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 248 seconds)
2022-12-29 11:31:41 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-12-29 11:33:58 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-29 11:36:11 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-12-29 11:36:41 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-29 11:43:05 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 11:43:40 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 11:46:02 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 11:47:20 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 246 seconds)
2022-12-29 11:53:27 +0000jakalx(~jakalx@base.jakalx.net) ()
2022-12-29 11:54:26 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 11:56:43 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 12:00:06 +0000jakalx(~jakalx@base.jakalx.net)
2022-12-29 12:03:24 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2022-12-29 12:06:02 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 12:07:32 +0000cheater_(~Username@user/cheater)
2022-12-29 12:08:28 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 12:08:40 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 12:09:15 +0000cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2022-12-29 12:09:19 +0000cheater_cheater
2022-12-29 12:10:26 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Client Quit)
2022-12-29 12:16:14 +0000Guest9971(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-12-29 12:17:02 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 12:19:15 +0000acidjnk(~acidjnk@p200300d6e7137a42305f770ee2a81388.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-12-29 12:19:55 +0000cheater__(~Username@user/cheater)
2022-12-29 12:20:33 +0000cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2022-12-29 12:20:39 +0000cheater__cheater
2022-12-29 12:24:25 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 12:28:42 +0000mc47(~mc47@xmonad/TheMC47)
2022-12-29 12:29:23 +0000v0id_ptr(~adrift@user/ptr-frac7al/x-0038398)
2022-12-29 12:31:13 +0000fizbin(~fizbin@user/fizbin) (Remote host closed the connection)
2022-12-29 12:31:32 +0000fizbin(~fizbin@user/fizbin)
2022-12-29 12:34:19 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 12:34:44 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
2022-12-29 12:35:26 +0000mei(~mei@user/mei)
2022-12-29 12:36:07 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::)
2022-12-29 12:39:09 +0000nerdypepper(~nerdypepp@user/nerdypepper) (Quit: bye)
2022-12-29 12:42:05 +0000nerdypepper(~nerdypepp@user/nerdypepper)
2022-12-29 12:47:21 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 12:51:58 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2022-12-29 13:06:31 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 13:12:14 +0000cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2022-12-29 13:14:13 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2022-12-29 13:20:43 +0000dextaa6(~DV@user/dextaa)
2022-12-29 13:22:44 +0000dextaa(~DV@user/dextaa) (Ping timeout: 260 seconds)
2022-12-29 13:22:44 +0000dextaa6dextaa
2022-12-29 13:25:42 +0000perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 272 seconds)
2022-12-29 13:26:58 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 13:31:29 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2022-12-29 13:42:44 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 13:44:47 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 13:46:55 +0000`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net) (Quit: Leaving)
2022-12-29 13:49:23 +0000mbuf(~Shakthi@49.204.117.236) (Quit: Leaving)
2022-12-29 13:51:40 +0000Guest9971(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
2022-12-29 13:52:53 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 13:57:04 +0000bjourne(~bjorn@94.191.136.87.mobile.tre.se)
2022-12-29 13:58:55 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 13:59:04 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 13:59:41 +0000thongpv(~thongpv87@2402:9d80:3d4:9b78:8ba5:ce77:f12f:2cae)
2022-12-29 14:03:23 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 248 seconds)
2022-12-29 14:04:32 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-12-29 14:05:07 +0000Xeroine_(~Xeroine@user/xeroine)
2022-12-29 14:05:09 +0000Xeroine(~Xeroine@user/xeroine) (Read error: Connection reset by peer)
2022-12-29 14:05:11 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2022-12-29 14:08:58 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2022-12-29 14:14:16 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 14:14:49 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 14:15:58 +0000eldritch_(~eldritch@2804:7f4:8180:b77d:f95d:ba1e:17c9:1b93)
2022-12-29 14:16:09 +0000jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2022-12-29 14:16:43 +0000Xeroine_(~Xeroine@user/xeroine) (Read error: Connection reset by peer)
2022-12-29 14:16:47 +0000beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Ping timeout: 246 seconds)
2022-12-29 14:17:56 +0000 <eldritch_> hello can anyone enlighten my why there isn't a type class for "runnable" monad transformers IE. those with a runXXXT function?
2022-12-29 14:19:12 +0000Xeroine(~Xeroine@user/xeroine)
2022-12-29 14:19:50 +0000 <mauke[m]> because the run functions all have different signatures
2022-12-29 14:22:50 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 14:24:03 +0000 <eldritch_> they all depend on the type like a functional dependency
2022-12-29 14:24:51 +0000 <eldritch_> so couldn't it be done?
2022-12-29 14:25:29 +0000AlexZenon(~alzenon@178.34.150.35) (Ping timeout: 246 seconds)
2022-12-29 14:26:07 +0000geekosaurhas been trying to work this out
2022-12-29 14:26:11 +0000Alex_test(~al_test@178.34.150.35) (Ping timeout: 260 seconds)
2022-12-29 14:26:40 +0000 <geekosaur> if it's dependent on the type like that, wouldn't it e.g. restrict you to only one Runnable StateT?
2022-12-29 14:27:05 +0000 <geekosaur> not one per state type
2022-12-29 14:28:21 +0000 <eldritch_> why would it monadState has a polymorphic state type
2022-12-29 14:28:40 +0000 <eldritch_> it wouldn't have a problem as long as s appeared on both
2022-12-29 14:29:13 +0000 <geekosaur> but if you encode the s as part of the type then you can only have `Runnable StateT`
2022-12-29 14:29:18 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:3964:1012:a01c:6912)
2022-12-29 14:29:23 +0000 <geekosaur> and if it doesn't then you can have only one of them
2022-12-29 14:30:04 +0000 <geekosaur> well, maybe if you jettison fds but then you have to specify types everywhere because the compiler can't figure them for you
2022-12-29 14:30:16 +0000 <eldritch_> ?? it would be similar to the either monad instance we have one for each stateT s
2022-12-29 14:30:16 +0000 <lambdabot> it would be similar to the either monad instance we have one for each stateT s
2022-12-29 14:30:35 +0000 <eldritch_> why did a bot reply?
2022-12-29 14:30:57 +0000 <geekosaur> because ?? is a command (it expands any commands anywhere in the line, instead of just at the beginning)
2022-12-29 14:31:10 +0000 <eldritch_> ok
2022-12-29 14:31:26 +0000 <geekosaur> and you're wrong about Either monad: it has to be Either e, not just Either
2022-12-29 14:31:45 +0000 <geekosaur> and e is pretty much fixed to String
2022-12-29 14:32:14 +0000 <eldritch_> yes it would be stateT s instead of state its transformer instance uses stateT s so we wouldn't have a problem
2022-12-29 14:33:07 +0000 <eldritch_> ?? help
2022-12-29 14:33:07 +0000 <lambdabot> help
2022-12-29 14:33:23 +0000 <geekosaur> ?? like this ?faq
2022-12-29 14:33:23 +0000 <lambdabot> like this https://wiki.haskell.org/FAQ
2022-12-29 14:33:36 +0000 <eldritch_> nice
2022-12-29 14:33:40 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:3964:1012:a01c:6912) (Ping timeout: 260 seconds)
2022-12-29 14:33:45 +0000 <geekosaur> (? and @ are both accepted as command characters)
2022-12-29 14:34:46 +0000n0den1te(~n0den1te@223.178.83.97)
2022-12-29 14:35:05 +0000Alex_test(~al_test@178.34.150.35)
2022-12-29 14:35:05 +0000 <geekosaur> hm, I think I forgot to document that one
2022-12-29 14:36:16 +0000razetime(~Thunderbi@49.207.228.176)
2022-12-29 14:37:20 +0000AlexZenon(~alzenon@178.34.150.35)
2022-12-29 14:37:44 +0000 <eldritch_> like readerT would have instance ((->) r) ReaderT r
2022-12-29 14:38:22 +0000 <eldritch_> wait sorry instance ((->) r) (ReaderT r)
2022-12-29 14:40:07 +0000 <eldritch_> i don't know how to do it for stateT s
2022-12-29 14:41:07 +0000 <eldritch_> like it would be isomorphic to compose (,s) ((->) s) bbut we don't have type level lambdas
2022-12-29 14:41:15 +0000 <eldritch_> *Compose
2022-12-29 14:41:16 +0000waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-12-29 14:41:24 +0000 <eldritch_> ?? ?commands
2022-12-29 14:41:25 +0000 <lambdabot> Plugin `compose' failed with: user error (Unknown command: "commands")
2022-12-29 14:41:42 +0000 <eldritch_> *
2022-12-29 14:41:47 +0000 <eldritch_> ?? ?help
2022-12-29 14:41:47 +0000 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
2022-12-29 14:41:52 +0000 <eldritch_> ?? ?list
2022-12-29 14:41:52 +0000 <lambdabot> What module? Try @listmodules for some ideas.
2022-12-29 14:42:39 +0000v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 260 seconds)
2022-12-29 14:43:39 +0000 <eldritch_> is Compose (,s) ((->) s) a monad ?
2022-12-29 14:46:51 +0000cheater(~Username@user/cheater)
2022-12-29 14:46:53 +0000 <mauke[m]> @unmtl ReaderT e (Writer w) a
2022-12-29 14:46:53 +0000 <lambdabot> e -> (a, w)
2022-12-29 14:47:16 +0000 <mauke[m]> @unmtl WriterT w (Reader e) a
2022-12-29 14:47:16 +0000 <lambdabot> e -> (a, w)
2022-12-29 14:47:35 +0000 <eldritch_> nice
2022-12-29 14:49:17 +0000emmanuelux(~emmanuelu@user/emmanuelux)
2022-12-29 14:53:13 +0000 <eldritch_> i wanted to relate the runXXXT to the mapXXXT but they don't immeadiately seem equal
2022-12-29 14:53:17 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-12-29 14:55:01 +0000shriekingnoise(~shrieking@186.137.167.202)
2022-12-29 14:58:00 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-12-29 14:59:41 +0000 <mauke[m]> :t runCont
2022-12-29 14:59:42 +0000 <lambdabot> Cont r a -> (a -> r) -> r
2022-12-29 14:59:51 +0000 <mauke[m]> :t runContT
2022-12-29 14:59:52 +0000 <lambdabot> forall k (r :: k) (m :: k -> *) a. ContT r m a -> (a -> m r) -> m r
2022-12-29 15:01:54 +0000 <eldritch_> ContT doesn't have a mapContT and its monad istance is indepedent of the base type contructor being a functor or monad
2022-12-29 15:04:11 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 252 seconds)
2022-12-29 15:04:18 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 15:08:53 +0000titibandit(~titibandi@xdsl-89-0-163-79.nc.de)
2022-12-29 15:11:55 +0000mei_(~mei@user/mei)
2022-12-29 15:12:12 +0000n0den1te(~n0den1te@223.178.83.97) (Quit: leaving)
2022-12-29 15:13:47 +0000zeenk(~zeenk@2a02:2f04:a110:ac00::7fe) (Quit: Konversation terminated!)
2022-12-29 15:13:50 +0000n0den1te(~aaaa@2401:4900:1cc8:ae75:8ca5:24cf:a3c6:3784)
2022-12-29 15:15:32 +0000mei(~mei@user/mei) (Ping timeout: 246 seconds)
2022-12-29 15:20:20 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 272 seconds)
2022-12-29 15:22:48 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2022-12-29 15:25:10 +0000beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2022-12-29 15:28:40 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2022-12-29 15:30:25 +0000son0p(~ff@2604:3d08:5b7f:5540:98a9:2169:15a1:4c7f) (Read error: Connection reset by peer)
2022-12-29 15:30:47 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
2022-12-29 15:32:01 +0000cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2022-12-29 15:32:09 +0000terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::)
2022-12-29 15:34:25 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 15:35:36 +0000son0p(~ff@2604:3d08:5b7f:5540:98a9:2169:15a1:4c7f)
2022-12-29 15:39:47 +0000fserucas(~fserucas@a85-138-107-42.cpe.netcabo.pt)
2022-12-29 15:42:00 +0000jnzd[m](~jnzdmatri@2001:470:69fc:105::2:e878)
2022-12-29 15:42:29 +0000cheater_(~Username@user/cheater)
2022-12-29 15:44:34 +0000cheater_cheater
2022-12-29 15:44:50 +0000jnzd[m]jonas[m]
2022-12-29 15:47:18 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 15:47:23 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 260 seconds)
2022-12-29 15:48:58 +0000Guest40(~Guest40@2001:861:5401:12b0:d149:a31c:3c29:397f)
2022-12-29 15:51:02 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:2a2c:b09a:c3a5:8048) (Quit: WeeChat 2.8)
2022-12-29 15:55:49 +0000 <eldritch_> um is there bimonad? if not why this seems interesting
2022-12-29 15:57:01 +0000beefbambi(~beefbambi@49.204.133.80)
2022-12-29 15:57:52 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 16:00:05 +0000FurudeRika[m](~chitandae@2001:470:69fc:105::1:6039) (Quit: You have been kicked for being idle)
2022-12-29 16:01:03 +0000 <Profpatsch> Should any Profunctor p a b implement Functor over b and Contravariant over a?
2022-12-29 16:13:05 +0000 <Profpatsch> Hm, if I read http://blog.sigfpe.com/2011/07/profunctors-in-haskell.html (the linked article in the Profunctor) module correctly, that applies to Hask, but not in general
2022-12-29 16:13:22 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 16:13:53 +0000 <Profpatsch> Tho I’d guess Haskell developers expect at least a Functor instance for most things that implement Profunctor
2022-12-29 16:15:24 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 16:17:07 +0000 <gqplox[m]> hi guys
2022-12-29 16:17:43 +0000beefbambi(~beefbambi@49.204.133.80) (Ping timeout: 260 seconds)
2022-12-29 16:18:22 +0000beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2022-12-29 16:19:49 +0000 <Profpatsch> hmm, there’s Profunctor p => Functor (Procompose p q a)
2022-12-29 16:19:56 +0000 <Profpatsch> so at least for profunctor composition it does hold in general
2022-12-29 16:20:49 +0000jinsun(~jinsun@user/jinsun) (Ping timeout: 252 seconds)
2022-12-29 16:24:36 +0000 <ncf> well a profunctor is just a functor C × D^op → E, so categorically you always get a functor C → E for each object of D and a functor D^op → E for each object of C
2022-12-29 16:24:46 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2022-12-29 16:25:30 +0000 <Profpatsch> ncf: yeah but is there a newtype that witnesses that in the profunctors library
2022-12-29 16:25:37 +0000 <Profpatsch> I’m looking around, I can’t really see it
2022-12-29 16:25:39 +0000 <ncf> idk
2022-12-29 16:26:28 +0000 <Profpatsch> So I can say e.g. deriving Functor via ProfFun (p a)
2022-12-29 16:30:51 +0000ddellacosta(~ddellacos@143.244.47.100)
2022-12-29 16:31:16 +0000 <gqplox[m]> i'm having a little trouble with recursion if anyone wouldn't mind taking a look
2022-12-29 16:32:26 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 16:33:37 +0000 <gqplox[m]> its for advent of code day 7
2022-12-29 16:33:40 +0000 <Jadesheit[m]> sure, just show what you have trouble with
2022-12-29 16:34:29 +0000Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (Remote host closed the connection)
2022-12-29 16:34:36 +0000 <mauke[m]> can't take a look if you don't show us the code :-)
2022-12-29 16:37:16 +0000 <gqplox[m]> http://sprunge.us/WQwNcf
2022-12-29 16:37:52 +0000 <gqplox[m]> i am trying to parse the commands into a tree. i did this first in python it was very easy as i can just make a structure which holds the data and children and parents and then if the directory is .. i can just do something like cur_node = cur_node.parent. in haskell i searched up on how to do this kind of thing and saw something about tying the knot which works for the make children. but the real issue is im a bit confused on how to handle
2022-12-29 16:37:52 +0000 <gqplox[m]> a cd .. in my recursive create tree function
2022-12-29 16:38:29 +0000 <gqplox[m]> i think my cd is bad as if i uncomment the cd .. line, it will be called from the (cd dir) path so the parent node actually goes on the child
2022-12-29 16:38:48 +0000 <gqplox[m]> ok wow that was a terrible explaination but yeah help would be appreicated please. or any pointer in general
2022-12-29 16:38:52 +0000 <mauke[m]> tying the knot can be nice for read-only structures. I don't think it makes much sense for mutable structures
2022-12-29 16:39:02 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2022-12-29 16:39:39 +0000ChaiTRex(~ChaiTRex@user/chaitrex)
2022-12-29 16:39:54 +0000 <mauke[m]> I still have to read your code, but in general you don't need a parent pointer in your data structure
2022-12-29 16:39:56 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2022-12-29 16:40:38 +0000 <gqplox[m]> yeah I understand that this way is almost certainly not a good way to do this problem, however I am wondering how I can make the create tree function work properly with cd ..? It must be possible im just looking it the wrong way and Im annoyed why I cant figure it out
2022-12-29 16:41:08 +0000 <gqplox[m]> i look forward to reading some other people's solutions when i'm done too because this one is terrible
2022-12-29 16:41:10 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2022-12-29 16:41:39 +0000 <Jadesheit[m]> In haskell you can represent your tree with a recursive ADT, I assume you have that
2022-12-29 16:42:08 +0000 <Jadesheit[m]> for "editing" a node you can write a recursive funtion that takes your tree and returns a new one
2022-12-29 16:42:11 +0000eldritchcookie[4(~eldritchc@2001:470:69fc:105::2:d53c)
2022-12-29 16:42:15 +0000 <Jadesheit[m]> if you give us your ADT as well as a specific function we can help you
2022-12-29 16:42:49 +0000 <gqplox[m]> I put the code in chat above if that's what you mean? http://sprunge.us/WQwNcf
2022-12-29 16:42:57 +0000eldritch_(~eldritch@2804:7f4:8180:b77d:f95d:ba1e:17c9:1b93) (Quit: Leaving)
2022-12-29 16:43:22 +0000 <Jadesheit[m]> and what function/operation do you need help with?
2022-12-29 16:43:53 +0000 <mauke[m]> that CD dir implementation looks fishy to me
2022-12-29 16:44:21 +0000 <gqplox[m]> i don't know how to represent the (cd '..') operation, I thought i could do it by called createTree on the parent of the current node,, but. the problem is in the cd dir function becauise it will be called from there so it just changes one of the childrne instead of going up like it should
2022-12-29 16:44:21 +0000razetime(~Thunderbi@49.207.228.176) (Remote host closed the connection)
2022-12-29 16:44:36 +0000 <gqplox[m]> but im not quite sure how to go about fixing it
2022-12-29 16:45:02 +0000 <Jadesheit[m]> `cd ..` would just be... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/f7195d1006dd0d1264d2d619629da117fc8e…>)
2022-12-29 16:45:13 +0000 <mauke[m]> I don't know how to fix it for your data structure either
2022-12-29 16:45:17 +0000 <Jadesheit[m]> * `cd ..` would just be, no?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/5d099dcf0eefb06089451bde8b722727c689…>)
2022-12-29 16:45:21 +0000 <mauke[m]> I used a tree zipper
2022-12-29 16:45:29 +0000 <Jadesheit[m]> * `cd ..` would just be, no?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/feaab20fd079d5ab80cdaaba3fd7b4e04e51…>)
2022-12-29 16:45:33 +0000 <Profpatsch> yeah, a zipper is probably the right data structure here
2022-12-29 16:45:40 +0000 <Profpatsch> It does exactly this
2022-12-29 16:45:46 +0000 <Jadesheit[m]> * `cd ..` would just be, no?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/efc054a2bf23517ec2143a228dccc511661b…>)
2022-12-29 16:45:49 +0000 <Profpatsch> navigate through a recursive thing & adjust leaves
2022-12-29 16:46:32 +0000 <gqplox[m]> yep I read about that when i found out about tying the knot, i think ill try that out too . But it's just annoying me that I couldn't make it work for my current tree so i thought id ask here.
2022-12-29 16:48:35 +0000 <Jadesheit[m]> Maybe I'm just really stupid but how is `up = parent` incorrect?
2022-12-29 16:48:39 +0000 <Jadesheit[m]> parent simply gives you the directory one up
2022-12-29 16:49:09 +0000 <mauke[m]> well, since all your Tree nodes are connected (i.e. you can navigate from any node in the tree to any other node via parent/children pointers), to update any of the entries you'd have to recreate your whole structure
2022-12-29 16:49:27 +0000beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2022-12-29 16:49:39 +0000 <Profpatsch> gqplox[m]: Maybe somtething like data Tree f a = File File | Dir [f a]
2022-12-29 16:49:48 +0000 <gqplox[m]> No I think you're correct it should be my function is just a mess right now. it is correct but the problem is that it is called from a recursive called which basicaly does x.child = up(dir) and it messes it up.
2022-12-29 16:50:18 +0000 <gqplox[m]> recursive call* basically* i can't spell today oops
2022-12-29 16:50:37 +0000 <mauke[m]> e.g. if (via ls/cd commands) your code learns new information "further up" in the directory tree, you can't just rebuild/update the top layer; you have to recreate the whole filesystem
2022-12-29 16:50:44 +0000beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2022-12-29 16:50:57 +0000 <mauke[m]> because otherwise your nested layers (subdirectories) will keep outdated information in their "parent" fields
2022-12-29 16:51:09 +0000 <gqplox[m]> yeah, that is what i'm struggling with
2022-12-29 16:51:27 +0000 <gqplox[m]> well i guess ill try and do it with the zippers for now and perhaps come back in a bit
2022-12-29 16:51:31 +0000 <gqplox[m]> thank you for the help guys
2022-12-29 16:52:15 +0000 <mauke[m]> cloning a deeply interlinked structure is a pain, and it's even more painful if you have to do it for every single command
2022-12-29 16:52:44 +0000 <mauke[m]> it just doesn't fit Haskell's model (unless you go full imperative and use IORefs or something)
2022-12-29 16:54:05 +0000 <gqplox[m]> i agree and ill try and do it the more idiomatic way now
2022-12-29 16:54:32 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-12-29 16:54:52 +0000 <mauke[m]> that said, I did this one in perl, too, and I didn't need parent pointers there either
2022-12-29 17:00:56 +0000lechner(~lechner@debian/lechner)
2022-12-29 17:05:25 +0000 <lechner> Hi, I have been gone for a while but thought maybe there is a suitable candidate here for this open Ph.D. position in automated theorem proving. The deadline is Jan 6 https://mathstodon.xyz/@wtgowers/109593027450888693
2022-12-29 17:06:34 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2022-12-29 17:08:34 +0000titibandit(~titibandi@xdsl-89-0-163-79.nc.de) (Remote host closed the connection)
2022-12-29 17:12:09 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-12-29 17:12:09 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-12-29 17:12:09 +0000wroathe(~wroathe@user/wroathe)
2022-12-29 17:23:37 +0000Guest40(~Guest40@2001:861:5401:12b0:d149:a31c:3c29:397f) (Quit: Client closed)
2022-12-29 17:27:16 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 17:28:15 +0000eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-12-29 17:29:35 +0000Vq(~vq@90-227-195-41-no77.tbcn.telia.com)
2022-12-29 17:30:41 +0000jonas[m](~jnzdmatri@2001:470:69fc:105::2:e878) ()
2022-12-29 17:37:49 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 17:37:57 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 17:41:21 +0000danza(~francesco@151.37.220.178)
2022-12-29 17:42:12 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2022-12-29 17:43:26 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 17:51:48 +0000hyperbolic-dg(~quassel@i577AA562.versanet.de)
2022-12-29 17:54:52 +0000ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 272 seconds)
2022-12-29 17:55:10 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:3964:1012:a01c:6912)
2022-12-29 17:56:49 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2022-12-29 17:57:54 +0000Neuromancer(~Neuromanc@user/neuromancer)
2022-12-29 18:01:46 +0000econo(uid147250@user/econo)
2022-12-29 18:02:18 +0000danza(~francesco@151.37.220.178) (Quit: Leaving)
2022-12-29 18:03:56 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-12-29 18:08:33 +0000 <eldritchcookie[4> is there a lawful monad instance for data Pair a = Pair a a ?
2022-12-29 18:09:11 +0000 <glguy> Yes
2022-12-29 18:09:41 +0000 <eldritchcookie[4> really? what is it i tried to write one but was unable to
2022-12-29 18:10:00 +0000 <Axman6> I didn't think there was
2022-12-29 18:10:02 +0000 <glguy> Do you want to try again or see the answer?
2022-12-29 18:10:13 +0000 <eldritchcookie[4> see the anwser
2022-12-29 18:10:19 +0000 <glguy> https://hackage.haskell.org/package/linear-1.22/docs/src/Linear.V2.html#line-196
2022-12-29 18:10:30 +0000trev(~trev@user/trev) (Remote host closed the connection)
2022-12-29 18:11:27 +0000 <eldritchcookie[4> that is amazing would never think about that one
2022-12-29 18:12:07 +0000 <eldritchcookie[4> does it work if instead of pair we have PairT m a = PairT a (m a) ?
2022-12-29 18:14:02 +0000random-jellyfish(~random-je@user/random-jellyfish)
2022-12-29 18:14:55 +0000 <glguy> Yeah, without writing it out I believe it's the same pattern
2022-12-29 18:15:10 +0000stef204(~stef204@user/stef204)
2022-12-29 18:15:16 +0000tose(~tose@cst-prg-38-106.cust.vodafone.cz)
2022-12-29 18:15:42 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:3964:1012:a01c:6912) (Remote host closed the connection)
2022-12-29 18:16:11 +0000 <glguy> The second case in the bind implementation would use f=<<b
2022-12-29 18:16:39 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 18:16:40 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:2914:f025:7ef3:a77d)
2022-12-29 18:20:02 +0000lechner(~lechner@debian/lechner) (Using Circe, the loveliest of all IRC clients)
2022-12-29 18:22:08 +0000 <eldritchcookie[4> i just don't know how to write lift
2022-12-29 18:23:15 +0000Xeroine(~Xeroine@user/xeroine) (Ping timeout: 260 seconds)
2022-12-29 18:23:42 +0000 <glguy> You can't
2022-12-29 18:23:54 +0000 <eldritchcookie[4> thought so
2022-12-29 18:23:58 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 18:25:00 +0000Xeroine(~Xeroine@user/xeroine)
2022-12-29 18:25:09 +0000 <glguy> If you could you could show that combined with the Monad instance for Proxy you could define something with type something :: a
2022-12-29 18:25:46 +0000 <eldritchcookie[4> what if i have data PairTFake m a = PairTFake (Maybe a) (m a) instead?
2022-12-29 18:27:23 +0000 <glguy> No
2022-12-29 18:28:05 +0000 <glguy> MonadTrans requires that. lift . return = return
2022-12-29 18:29:04 +0000Lycurgus(~juan@user/Lycurgus)
2022-12-29 18:29:05 +0000 <glguy> return must put Just in the first argument. lift would have to put Nothing
2022-12-29 18:35:14 +0000acidjnk(~acidjnk@p200300d6e7137a52305f770ee2a81388.dip0.t-ipconnect.de)
2022-12-29 18:36:39 +0000bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-12-29 18:38:27 +0000mmhat(~mmh@p200300f1c721be80ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-12-29 18:38:33 +0000 <eldritchcookie[4> that is so weird considering that i can define mapPairT
2022-12-29 18:38:49 +0000mmhat(~mmh@p200300f1c721be69ee086bfffe095315.dip0.t-ipconnect.de)
2022-12-29 18:39:05 +0000 <eldritchcookie[4> wait can i?
2022-12-29 18:39:29 +0000 <eldritchcookie[4> no i can't
2022-12-29 18:42:45 +0000 <ggVGc> ^ the best kind of monologue
2022-12-29 18:44:44 +0000 <EvanR> the idea that join :: m (m a) -> m a is analogous to "flatten" is helpful in types like Pair a
2022-12-29 18:46:05 +0000 <EvanR> another way to look at Pair a is as Bool -> a
2022-12-29 18:47:33 +0000Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2022-12-29 18:47:43 +0000 <EvanR> (which has a monad instance)
2022-12-29 18:52:37 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
2022-12-29 18:52:57 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 18:52:59 +0000tose(~tose@cst-prg-38-106.cust.vodafone.cz) (Ping timeout: 248 seconds)
2022-12-29 18:55:02 +0000 <monochrom> In fact Pair has exactly one way to be a monad.
2022-12-29 18:55:20 +0000 <monochrom> And yeah, for existence, what EvanR said.
2022-12-29 18:55:37 +0000 <monochrom> I still like to tell you how I learned it the hard way. :)
2022-12-29 18:56:27 +0000 <ggVGc> hm, how is Pair a the same as Bool -> a?
2022-12-29 18:56:37 +0000 <monochrom> One day I thought "Pair is the composition of two adjoint functors I know of, let me use the formula to calculate what join does."
2022-12-29 18:56:54 +0000 <monochrom> Oh that's a question I put on my exam >:)
2022-12-29 18:57:01 +0000 <EvanR> the same as is quite a powerful assertion xD, how about "one way to look at it is as a" xD
2022-12-29 18:57:17 +0000 <monochrom> So, 4 pages of calculations later I got it, and I happily told #haskell.
2022-12-29 18:57:35 +0000mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-12-29 18:57:43 +0000 <EvanR> OWTLAIIAA
2022-12-29 18:57:43 +0000 <monochrom> Then one of you pointed out "that's just (->)Bool, use the Reader monad". So, derp. :)
2022-12-29 18:58:16 +0000 <monochrom> Well the technical jargon is "isomorphic".
2022-12-29 18:58:44 +0000 <monochrom> But in the good spirit of relative subjective "sameness", let's say "isomorphic" is the same as "same as" >:)
2022-12-29 18:58:54 +0000 <EvanR> yeah isomorphic gets abused to all hell
2022-12-29 18:59:24 +0000 <monochrom> Or if you want to be more pedantic, "isomorphic" is isomorphic to "same as" up to unique isomorphism...
2022-12-29 18:59:45 +0000 <EvanR> now we're abusing up to unique isomorphism
2022-12-29 18:59:52 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-12-29 18:59:59 +0000 <monochrom> abusing up to unique abuse
2022-12-29 19:00:10 +0000 <ncf> :t bool -- ggVGc
2022-12-29 19:00:11 +0000 <lambdabot> a -> a -> Bool -> a
2022-12-29 19:00:17 +0000 <EvanR> enough red tape and no one has the resources to question it xD
2022-12-29 19:01:50 +0000 <monochrom> There is an easy bijection between Bool->a and Pair a. Furthermore this bijection preserves the monad operations. It is a monad isomorphism.
2022-12-29 19:01:51 +0000 <glguy> There isn't a unique isomorphism between pair and bool-> since there are two choices
2022-12-29 19:02:07 +0000 <monochrom> Sure.
2022-12-29 19:02:53 +0000 <monochrom> But there is only one way to make (->)Bool a monad, and only one way to make Pair a monad, and either bijection preserves that.
2022-12-29 19:03:09 +0000 <monochrom> "This is fine."
2022-12-29 19:03:16 +0000 <glguy> I agree, just joining in
2022-12-29 19:03:34 +0000 <EvanR> one way to look at Pair a is as Bool -> a haha
2022-12-29 19:03:54 +0000 <EvanR> (but not even close to all the ways)
2022-12-29 19:04:05 +0000 <monochrom> Two bijections going in. Only one monad coming out. >:)
2022-12-29 19:04:28 +0000 <EvanR> Pair (Pair a) can be considered as a 2x2 matrix
2022-12-29 19:04:52 +0000 <EvanR> which can be seen as a linear function
2022-12-29 19:05:10 +0000Xeroine(~Xeroine@user/xeroine) (Ping timeout: 272 seconds)
2022-12-29 19:05:51 +0000 <monochrom> So one thing you can do is to start with join (Pair (Pair a b) (Pair c d)) = Pair x y, where x is one of a,b,c,d, y is one of a,b,c,d. (By parametricity / free theorems.)
2022-12-29 19:06:30 +0000 <monochrom> Then the monad laws narrow down the choice space. You will find that you are left with only one choice.
2022-12-29 19:06:46 +0000 <monochrom> This settles both existence and uniqueness.
2022-12-29 19:07:07 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 19:07:51 +0000 <monochrom> BTW on my exams I also like to give a wrong formula for >>= and ask my students "use a counterexample to show that it breaks a monad law".
2022-12-29 19:08:11 +0000 <EvanR> which course is this btw
2022-12-29 19:08:14 +0000 <monochrom> Sometimes I do it with (->)Bool, sometimes Pair.
2022-12-29 19:08:21 +0000 <EvanR> please say computer science 101
2022-12-29 19:08:25 +0000 <monochrom> A "principles of programming languages" course.
2022-12-29 19:09:37 +0000cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2022-12-29 19:10:53 +0000mei_(~mei@user/mei) (Quit: mei_)
2022-12-29 19:11:32 +0000 <monochrom> The next level is "data Stream a = Cons a (Stream a)" is also a monad in a unique way, along the same line.
2022-12-29 19:12:17 +0000 <Jadesheit[m]> What are examples for monad instances where return /= pure
2022-12-29 19:12:24 +0000 <monochrom> None.
2022-12-29 19:13:32 +0000Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2022-12-29 19:14:16 +0000 <Jadesheit[m]> assumed so, what were the historical reasons for why return existed?
2022-12-29 19:14:46 +0000 <monochrom> The Monad class predated the Applicative class (even the idea) by some 10 years or more.
2022-12-29 19:14:50 +0000ec_(~ec@gateway/tor-sasl/ec)
2022-12-29 19:15:02 +0000 <Jadesheit[m]> ah yeah, ok makes sense
2022-12-29 19:16:45 +0000 <EvanR> Stream (Stream a) is an infinite matrix xD
2022-12-29 19:16:45 +0000Xeroine(~Xeroine@user/xeroine)
2022-12-29 19:16:55 +0000tose(~tose@cst-prg-38-106.cust.vodafone.cz)
2022-12-29 19:16:59 +0000ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2022-12-29 19:17:00 +0000 <EvanR> physicists love those
2022-12-29 19:18:47 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db)
2022-12-29 19:19:19 +0000cheater(~Username@user/cheater)
2022-12-29 19:19:41 +0000 <mizlan> in this comment https://www.reddit.com/r/haskell/comments/nfyvy/instance_monad_ziplist_where/c38x9q9/ could someone explain the part talking about Streams
2022-12-29 19:19:51 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2022-12-29 19:20:00 +0000 <mizlan> i take it to mean that if one had a theoretical ZipStream it would be a monad
2022-12-29 19:20:05 +0000 <mizlan> but not ZipList...
2022-12-29 19:20:47 +0000 <monochrom> Understood. (->)Bool : Pair :: (->)Natural : Stream
2022-12-29 19:21:13 +0000 <monochrom> Pair is an array of length 2. Stream is an array of length infinite.
2022-12-29 19:21:55 +0000fserucas(~fserucas@a85-138-107-42.cpe.netcabo.pt) (Ping timeout: 252 seconds)
2022-12-29 19:22:44 +0000 <monochrom> or perhaps s/infinite/omega/ or s/infinite/aleph-0/
2022-12-29 19:23:02 +0000CodeInTheShade(~CodeInThe@2a02:c7c:5256:d500:49bd:7435:2cab:65db) (Ping timeout: 246 seconds)
2022-12-29 19:24:53 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 252 seconds)
2022-12-29 19:25:54 +0000 <monochrom> Or rather, Pair is an array with index set {0,1} or Bool, Stream is an array with index set Natural. Then, observe that "array with index set Foo" may as well be mathematically "(->)Foo".
2022-12-29 19:26:43 +0000 <mizlan> i can see that
2022-12-29 19:36:00 +0000beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2022-12-29 19:37:31 +0000beefbambi(~beefbambi@183.82.24.237)
2022-12-29 19:37:50 +0000pavonia(~user@user/siracusa)
2022-12-29 19:43:26 +0000cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2022-12-29 19:45:56 +0000cheater(~Username@user/cheater)
2022-12-29 19:46:23 +0000jwiegley(~jwiegley@2600:1700:cf00:db0:750e:ca3e:1343:8732)
2022-12-29 19:49:50 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-12-29 19:50:11 +0000tose(~tose@cst-prg-38-106.cust.vodafone.cz) (Ping timeout: 255 seconds)
2022-12-29 19:51:11 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-12-29 19:51:31 +0000jmdaemon(~jmdaemon@user/jmdaemon)
2022-12-29 19:51:57 +0000unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36)
2022-12-29 19:52:40 +0000cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-12-29 19:52:48 +0000unit73e(~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Client Quit)
2022-12-29 19:53:21 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:2914:f025:7ef3:a77d) (Remote host closed the connection)
2022-12-29 19:58:08 +0000cheater(~Username@user/cheater)
2022-12-29 19:59:19 +0000trev(~trev@user/trev)
2022-12-29 20:00:33 +0000cfricke(~cfricke@user/cfricke) (Ping timeout: 268 seconds)
2022-12-29 20:02:17 +0000thongpv(~thongpv87@2402:9d80:3d4:9b78:8ba5:ce77:f12f:2cae) (Read error: Connection reset by peer)
2022-12-29 20:03:23 +0000cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2022-12-29 20:03:44 +0000 <jean-paul[m]> anyone know of a megaparsec parser for iso8601 datetimes?
2022-12-29 20:05:15 +0000cheater(~Username@user/cheater)
2022-12-29 20:05:41 +0000 <monochrom> I don't know of one. But the time package (comes with GHC) has a Data.Time.Format.ISO8601 that uses Maybe or ReadP.
2022-12-29 20:06:32 +0000 <monochrom> Err, just ReadP.
2022-12-29 20:08:33 +0000 <jean-paul[m]> Getting the result in Maybe is annoying since it means I have to manually glue together decent error reporting
2022-12-29 20:09:22 +0000 <jean-paul[m]> I guess maybe I can do something with ... try ... that's not too much work?
2022-12-29 20:09:48 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 268 seconds)
2022-12-29 20:10:17 +0000cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2022-12-29 20:13:54 +0000beefbambi(~beefbambi@183.82.24.237) (Read error: Connection reset by peer)
2022-12-29 20:14:00 +0000 <monochrom> On second thought, it's going to be too much work :)
2022-12-29 20:18:41 +0000 <sm> Maybe sounds better for decent error reporting, but there's also https://hackage.haskell.org/package/time-1.13/docs/Data-Time-Format.html#v:parseTimeOrError ?
2022-12-29 20:20:58 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:d293:7b78:ce13:3f64)
2022-12-29 20:21:17 +0000 <jean-paul[m]> Huh, how does parseTimeOrError represent the error?
2022-12-29 20:21:33 +0000ddellacosta(~ddellacos@89.46.62.213)
2022-12-29 20:22:02 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 20:22:52 +0000 <geekosaur> looks like it throws (`error`)
2022-12-29 20:23:12 +0000 <geekosaur> `fails` looks like copypasta from parseTimeMultipleM
2022-12-29 20:26:43 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-12-29 20:27:17 +0000beefbambi(~beefbambi@183.82.24.237)
2022-12-29 20:28:55 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 268 seconds)
2022-12-29 20:29:06 +0000cheater(~Username@user/cheater)
2022-12-29 20:30:05 +0000catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 260 seconds)
2022-12-29 20:30:33 +0000cheater_(~Username@user/cheater)
2022-12-29 20:33:00 +0000`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net)
2022-12-29 20:33:02 +0000 <sm> ah, that makes more sense
2022-12-29 20:33:55 +0000cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2022-12-29 20:33:58 +0000cheater_cheater
2022-12-29 20:39:42 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 20:42:42 +0000cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-12-29 20:43:56 +0000 <stefan-_> grml, tried to solve aoc day 16 with viterbi, it's quite close to the example solution (1649 vs. 1651), but it does not to find the optimum
2022-12-29 20:44:16 +0000 <Rembane> That sounds frustrating.
2022-12-29 20:44:31 +0000paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru)
2022-12-29 20:45:08 +0000 <monochrom> Is grml a new markup language for marking up grumbles? :)
2022-12-29 20:45:23 +0000cheater(~Username@user/cheater)
2022-12-29 20:46:22 +0000 <sm> excellent, seems low boilerplate
2022-12-29 20:46:45 +0000 <stefan-_> Rembane, yes a bit, also because I run out of possible approaches ;)
2022-12-29 20:47:49 +0000 <Rembane> stefan-_: Ach! I ran out of possible approaches way before trying a viterbi :)
2022-12-29 20:49:05 +0000 <stefan-_> the number of possible schedules is in the order of 10^12, so trying all possible permutations is not feasible (that was my first approach)
2022-12-29 20:50:09 +0000cheater_(~Username@user/cheater)
2022-12-29 20:50:21 +0000pie__(~pie_bnc@user/pie/x-2818909)
2022-12-29 20:50:21 +0000pie__(~pie_bnc@user/pie/x-2818909) (Client Quit)
2022-12-29 20:52:12 +0000cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-12-29 20:52:15 +0000cheater_cheater
2022-12-29 20:53:51 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:2914:f025:7ef3:a77d)
2022-12-29 20:54:54 +0000 <darkling> Can you do some kind of local search (say, simulated annealing) from the close solution?
2022-12-29 20:59:29 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:2914:f025:7ef3:a77d) (Ping timeout: 255 seconds)
2022-12-29 21:02:24 +0000 <stefan-_> darkling, hm, that could be possible, although I would prefer a method which finds the optimum guaranteed
2022-12-29 21:03:34 +0000 <darkling> At that point, I'd reach, very reluctantly, for the MILP. :)
2022-12-29 21:04:50 +0000hueso(~root@user/hueso)
2022-12-29 21:05:50 +0000 <darkling> Or take a closer look at the problem and see if there's more structure to it that can be exploited for something like a branch and bound -- are there cases you can prune early in the enumeration solution?
2022-12-29 21:06:08 +0000 <darkling> (I was never very good at branch and bound -- local search was more my thing)
2022-12-29 21:07:42 +0000cheater_(~Username@user/cheater)
2022-12-29 21:08:35 +0000jinsun(~jinsun@user/jinsun)
2022-12-29 21:10:34 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2022-12-29 21:11:12 +0000cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2022-12-29 21:11:19 +0000cheater_cheater
2022-12-29 21:13:47 +0000 <mauke[m]> there's some general talk about AoC day 16 starting at https://ircbrowse.tomsmeding.com/browse/lchaskell?id=826025#trid826025
2022-12-29 21:14:19 +0000 <mauke[m]> including glguy's excellent solution
2022-12-29 21:14:46 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:d293:7b78:ce13:3f64) (Quit: WeeChat 2.8)
2022-12-29 21:15:38 +0000beefbambi(~beefbambi@183.82.24.237) (Read error: Connection reset by peer)
2022-12-29 21:16:12 +0000beefbambi(~beefbambi@183.82.24.237)
2022-12-29 21:17:28 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 21:18:18 +0000 <darkling> Aha. That looks something like the pruning/brand-and-bound idea.
2022-12-29 21:18:59 +0000 <stefan-_> mauke[m], thanks
2022-12-29 21:21:07 +0000 <mauke[m]> and my somewhat clumsy but fast enough solution for part 1: https://paste.tomsmeding.com/FL2j6gCB
2022-12-29 21:21:53 +0000 <mauke[m]> oh, that's the version I updated after the previous discussion. I was playing around with Map vs. IntMap and Set vs. IntSet
2022-12-29 21:24:30 +0000beefbambi(~beefbambi@183.82.24.237) (Read error: Connection reset by peer)
2022-12-29 21:25:08 +0000beefbambi(~beefbambi@183.82.24.237)
2022-12-29 21:27:19 +0000glguyuses monochrom's mention of time providing ReadP parsers to revise his aoc 2018-04 https://github.com/glguy/advent/commit/8f81894be20647502f5b7e3d18e9d3e16172b2cd
2022-12-29 21:27:20 +0000trev(~trev@user/trev) (Remote host closed the connection)
2022-12-29 21:28:37 +0000 <glguy> Next project is to think about how to make the format string quasiquoter a separate, more generally useful package
2022-12-29 21:28:52 +0000 <glguy> someone posted a feature request about that
2022-12-29 21:29:00 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 21:30:26 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 21:36:57 +0000mikoto-chan(~mikoto-ch@164.5.249.78)
2022-12-29 21:37:10 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 252 seconds)
2022-12-29 21:38:23 +0000n0den1te(~aaaa@2401:4900:1cc8:ae75:8ca5:24cf:a3c6:3784) (Quit: Quitting...)
2022-12-29 21:38:53 +0000troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-12-29 21:39:13 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
2022-12-29 21:40:18 +0000cheater_(~Username@user/cheater)
2022-12-29 21:43:55 +0000cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2022-12-29 21:43:56 +0000cheater_cheater
2022-12-29 21:45:30 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 21:46:37 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 21:46:37 +0000Guest9971(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-12-29 21:46:44 +0000Xeroine(~Xeroine@user/xeroine) (Ping timeout: 260 seconds)
2022-12-29 21:48:08 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
2022-12-29 21:49:29 +0000stef204(~stef204@user/stef204) (Quit: WeeChat 3.7.1)
2022-12-29 21:52:35 +0000morb(~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2022-12-29 21:56:48 +0000Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 272 seconds)
2022-12-29 21:56:59 +0000ft(~ft@i59F5448E.versanet.de)
2022-12-29 21:57:55 +0000Maxdamantus(~Maxdamant@user/maxdamantus)
2022-12-29 22:00:01 +0000hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0123.hinet-ip6.hinet.net) (Remote host closed the connection)
2022-12-29 22:00:11 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2022-12-29 22:00:17 +0000hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0123.hinet-ip6.hinet.net)
2022-12-29 22:03:27 +0000gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2022-12-29 22:06:06 +0000Xeroine(~Xeroine@user/xeroine)
2022-12-29 22:06:07 +0000beefbambi(~beefbambi@183.82.24.237) (Read error: Connection reset by peer)
2022-12-29 22:07:37 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 22:09:22 +0000beefbambi(~beefbambi@183.82.24.237)
2022-12-29 22:11:52 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 252 seconds)
2022-12-29 22:12:57 +0000cheater_(~Username@user/cheater)
2022-12-29 22:13:22 +0000cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2022-12-29 22:13:31 +0000cheater_cheater
2022-12-29 22:13:55 +0000Xeroine(~Xeroine@user/xeroine) (Ping timeout: 252 seconds)
2022-12-29 22:14:20 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2022-12-29 22:23:39 +0000Xeroine(~Xeroine@user/xeroine)
2022-12-29 22:25:32 +0000freeside(~mengwong@103.252.202.159)
2022-12-29 22:29:06 +0000Xeroine(~Xeroine@user/xeroine) (Ping timeout: 272 seconds)
2022-12-29 22:32:57 +0000johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2022-12-29 22:32:58 +0000jwiegley(~jwiegley@2600:1700:cf00:db0:750e:ca3e:1343:8732) (Quit: ZNC - http://znc.in)
2022-12-29 22:36:42 +0000Xeroine(~Xeroine@user/xeroine)
2022-12-29 22:38:14 +0000catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
2022-12-29 22:40:16 +0000hueso(~root@user/hueso) (Ping timeout: 268 seconds)
2022-12-29 22:42:31 +0000acidjnk(~acidjnk@p200300d6e7137a52305f770ee2a81388.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-12-29 22:44:07 +0000Xeroine(~Xeroine@user/xeroine) (Ping timeout: 260 seconds)
2022-12-29 22:44:33 +0000mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2022-12-29 22:47:48 +0000acidjnk(~acidjnk@p200300d6e7137a52305f770ee2a81388.dip0.t-ipconnect.de)
2022-12-29 22:48:47 +0000mstruebing(~mstruebin@ip4d14fa11.dynamic.kabel-deutschland.de)
2022-12-29 22:48:55 +0000hueso(~root@user/hueso)
2022-12-29 22:50:18 +0000Xeroine(~Xeroine@user/xeroine)
2022-12-29 22:57:09 +0000caryhartline(~caryhartl@2600:1700:2d0:8d30:486e:abe:5ebb:c6a0)
2022-12-29 22:59:42 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-12-29 23:01:39 +0000coot(~coot@213.134.171.3) (Quit: coot)
2022-12-29 23:04:15 +0000mstruebing(~mstruebin@ip4d14fa11.dynamic.kabel-deutschland.de) (Quit: Client closed)
2022-12-29 23:17:13 +0000`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-12-29 23:17:37 +0000`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net)
2022-12-29 23:19:16 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-12-29 23:21:18 +0000kmein(~weechat@user/kmein) (Quit: ciao kakao)
2022-12-29 23:23:24 +0000kmein(~weechat@user/kmein)
2022-12-29 23:26:54 +0000random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2022-12-29 23:29:47 +0000freeside(~mengwong@103.252.202.159) (Ping timeout: 246 seconds)
2022-12-29 23:32:57 +0000cheater_(~Username@user/cheater)
2022-12-29 23:35:00 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-12-29 23:35:23 +0000cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2022-12-29 23:36:16 +0000sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-12-29 23:36:49 +0000cheater(~Username@user/cheater)
2022-12-29 23:38:29 +0000cheater_(~Username@user/cheater) (Ping timeout: 246 seconds)
2022-12-29 23:41:16 +0000Cybro(~Cybro@cpc83049-enfi23-2-0-cust89.20-2.cable.virginm.net)
2022-12-29 23:48:01 +0000Cybro(~Cybro@cpc83049-enfi23-2-0-cust89.20-2.cable.virginm.net) (Quit: Leaving)
2022-12-29 23:48:56 +0000Cybro(~Cybro@cpc83049-enfi23-2-0-cust89.20-2.cable.virginm.net)
2022-12-29 23:57:43 +0000freeside(~mengwong@103.252.202.159)