Home liberachat/#haskell: Logs Calendar

Logs on 2022-12-29 (liberachat/#haskell)

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

All times are in UTC on 2022-12-29.