2023/12/26

2023-12-26 00:00:32 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 00:00:34 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 00:01:04 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-12-26 00:07:01 +0100anon1123(~anon1123@2a02:ab88:282:b00:da3a:ddff:fe3a:947c) (Ping timeout: 245 seconds)
2023-12-26 00:08:01 +0100mokee(~mokee@37.228.215.150) (Quit: off)
2023-12-26 00:08:12 +0100anon1123(~anon1123@2a02:ab88:282:b00:da3a:ddff:fe3a:947c)
2023-12-26 00:09:15 +0100euleritian(~euleritia@p5b124093.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-12-26 00:09:41 +0100euleritian(~euleritia@dynamic-046-114-204-059.46.114.pool.telefonica.de)
2023-12-26 00:13:23 +0100mokee(~mokee@37.228.215.150)
2023-12-26 00:25:55 +0100mokee(~mokee@37.228.215.150) (Quit: off)
2023-12-26 00:26:13 +0100mokee(~mokee@37.228.215.150)
2023-12-26 00:27:03 +0100rekahsoft(~rekahsoft@bas1-sudbury98-67-70-201-226.dsl.bell.ca)
2023-12-26 00:28:08 +0100acidjnk(~acidjnk@p200300d6e72b93796de5beb1d9c856ad.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2023-12-26 00:36:43 +0100euleritian(~euleritia@dynamic-046-114-204-059.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-12-26 00:36:56 +0100euleritian(~euleritia@p5b124093.dip0.t-ipconnect.de)
2023-12-26 00:47:12 +0100flounders(~flounders@24.246.176.178) (Quit: WeeChat 4.1.1)
2023-12-26 00:50:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:b5f9:f80e:9e1:be6) (Remote host closed the connection)
2023-12-26 01:08:31 +0100Chai-T-Rex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-12-26 01:09:02 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-12-26 01:10:21 +0100rekahsoft(~rekahsoft@bas1-sudbury98-67-70-201-226.dsl.bell.ca) (Ping timeout: 245 seconds)
2023-12-26 01:13:48 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2023-12-26 01:13:51 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Remote host closed the connection)
2023-12-26 01:14:10 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 01:17:35 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds)
2023-12-26 01:21:57 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:b5f9:f80e:9e1:be6)
2023-12-26 01:23:29 +0100shriekingnoise_(~shrieking@186.137.175.87) (Ping timeout: 252 seconds)
2023-12-26 01:23:51 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-12-26 01:24:41 +0100sprout_(~quassel@84-80-106-227.fixed.kpn.net)
2023-12-26 01:25:57 +0100sprout(~quassel@2a02-a448-3a80-0-fdb5-da9c-f175-8850.fixed6.kpn.net) (Read error: Connection reset by peer)
2023-12-26 01:26:11 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:b5f9:f80e:9e1:be6) (Ping timeout: 245 seconds)
2023-12-26 01:27:31 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Quit: Leaving...)
2023-12-26 01:27:55 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 255 seconds)
2023-12-26 01:29:33 +0100johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-12-26 01:39:41 +0100chomwitt(~chomwitt@2a02:587:7a09:c300:1ac0:4dff:fedb:a3f1) (Ping timeout: 256 seconds)
2023-12-26 01:45:21 +0100Tuplanolla(~Tuplanoll@91-159-69-171.elisa-laajakaista.fi) (Ping timeout: 256 seconds)
2023-12-26 02:02:50 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
2023-12-26 02:07:30 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 252 seconds)
2023-12-26 02:12:29 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2023-12-26 02:14:06 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 245 seconds)
2023-12-26 02:15:46 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2023-12-26 02:17:54 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-12-26 02:17:56 +0100ft(~ft@mue-88-130-106-225.dsl.tropolys.de) (Ping timeout: 252 seconds)
2023-12-26 02:18:40 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:b5f9:f80e:9e1:be6)
2023-12-26 02:19:02 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-26 02:19:24 +0100ft(~ft@mue-88-130-105-195.dsl.tropolys.de)
2023-12-26 02:20:04 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:b5f9:f80e:9e1:be6) (Remote host closed the connection)
2023-12-26 02:20:21 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:b5f9:f80e:9e1:be6)
2023-12-26 02:25:26 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-12-26 02:25:45 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-26 02:25:52 +0100bosie(~varvir@106.102.129.97)
2023-12-26 02:29:28 +0100Inst(~Inst@120.244.192.161) (Ping timeout: 256 seconds)
2023-12-26 02:30:24 +0100jrm(~jrm@user/jrm) (Quit: ciao)
2023-12-26 02:31:08 +0100bosie(~varvir@106.102.129.97) (Ping timeout: 252 seconds)
2023-12-26 02:31:55 +0100jrm(~jrm@user/jrm)
2023-12-26 02:36:48 +0100arkoinad(~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
2023-12-26 02:38:59 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 264 seconds)
2023-12-26 02:42:23 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2023-12-26 02:51:39 +0100xdminsy(~xdminsy@117.147.71.169)
2023-12-26 02:55:40 +0100xdminsy(~xdminsy@117.147.71.169) (Remote host closed the connection)
2023-12-26 02:57:50 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 02:59:38 +0100erina(~erina@222.195.81.112)
2023-12-26 03:06:11 +0100johnw(~johnw@69.62.242.138)
2023-12-26 03:16:19 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 260 seconds)
2023-12-26 03:17:59 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 03:26:50 +0100mokee(~mokee@37.228.215.150) (Quit: off)
2023-12-26 03:27:09 +0100mokee(~mokee@37.228.215.150)
2023-12-26 03:27:55 +0100xff0x(~xff0x@2405:6580:b080:900:41:b783:5b89:1b5a) (Ping timeout: 256 seconds)
2023-12-26 03:28:15 +0100rekahsoft(~rekahsoft@67.70.201.226)
2023-12-26 03:34:43 +0100tabemann(~tabemann@12.215.215.61)
2023-12-26 03:35:23 +0100mokee(~mokee@37.228.215.150) (Quit: off)
2023-12-26 03:35:40 +0100mokee(~mokee@37.228.215.150)
2023-12-26 03:35:46 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2023-12-26 03:36:53 +0100flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2023-12-26 03:48:10 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2023-12-26 03:55:14 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-12-26 03:55:47 +0100mokee(~mokee@37.228.215.150) (Quit: off)
2023-12-26 03:56:03 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-12-26 03:56:04 +0100mokee(~mokee@37.228.215.150)
2023-12-26 03:57:50 +0100mokee(~mokee@37.228.215.150) (Client Quit)
2023-12-26 03:59:02 +0100mokee(~mokee@37.228.215.150)
2023-12-26 04:01:42 +0100mokee(~mokee@37.228.215.150) (Client Quit)
2023-12-26 04:01:59 +0100mokee(~mokee@37.228.215.150)
2023-12-26 04:03:32 +0100petrichor(~znc-user@user/petrichor) (Ping timeout: 256 seconds)
2023-12-26 04:03:38 +0100Batzy(~quassel@user/batzy) (Ping timeout: 260 seconds)
2023-12-26 04:05:39 +0100petrichor(~znc-user@user/petrichor)
2023-12-26 04:05:48 +0100mokee(~mokee@37.228.215.150) (Client Quit)
2023-12-26 04:10:59 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 256 seconds)
2023-12-26 04:13:41 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-12-26 04:16:34 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-12-26 04:18:55 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 246 seconds)
2023-12-26 04:21:24 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 04:25:53 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2023-12-26 04:29:24 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2023-12-26 04:32:51 +0100td_(~td@i5387091f.versanet.de) (Ping timeout: 245 seconds)
2023-12-26 04:34:42 +0100td_(~td@i53870912.versanet.de)
2023-12-26 04:38:03 +0100xdminsy(~xdminsy@117.147.71.169)
2023-12-26 04:43:47 +0100euleritian(~euleritia@p5b124093.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2023-12-26 04:44:20 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 256 seconds)
2023-12-26 04:46:55 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-12-26 04:48:22 +0100euleritian(~euleritia@dynamic-046-114-200-203.46.114.pool.telefonica.de)
2023-12-26 04:52:23 +0100lisbeths_(uid135845@id-135845.lymington.irccloud.com)
2023-12-26 04:52:46 +0100 <erina> :t \st ls -> max $ map (fromMaybe 0 . lookup st) ls
2023-12-26 04:52:47 +0100 <lambdabot> (Ord b, Num b, Eq a) => a -> [[(a, b)]] -> [b] -> [b]
2023-12-26 04:54:56 +0100 <erina> @pl \st -> maximum . map (fromMaybe 0 . lookup st)
2023-12-26 04:54:56 +0100 <lambdabot> (maximum .) . map . (fromMaybe 0 .) . lookup
2023-12-26 04:55:30 +0100 <erina> Hmm, this make sence but I'd stick with my implementation
2023-12-26 04:59:10 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-12-26 04:59:10 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-12-26 04:59:10 +0100finn_elijaFinnElija
2023-12-26 05:00:41 +0100 <monochrom> No! Please consider catMaybes. :)
2023-12-26 05:01:15 +0100 <monochrom> maximum . catMaybes . map lookup
2023-12-26 05:08:43 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-26 05:08:48 +0100 <erina> Oh, that's much better!
2023-12-26 05:09:14 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 05:09:57 +0100 <ephemient> mapMaybe lookup?
2023-12-26 05:10:34 +0100 <erina> Try this: mapmaybe
2023-12-26 05:10:43 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-12-26 05:11:26 +0100 <erina> @pl \st -> maximum mapMaybe (lookup st)
2023-12-26 05:11:26 +0100 <lambdabot> maximum mapMaybe . lookup
2023-12-26 05:12:05 +0100 <erina> @pl \st -> maximum . mapMaybe (lookup st)
2023-12-26 05:12:05 +0100 <lambdabot> (maximum .) . mapMaybe . lookup
2023-12-26 05:13:14 +0100 <erina> :t (maximum .) . mapMaybe . lookup
2023-12-26 05:13:15 +0100 <lambdabot> (Ord c, Eq a) => a -> [[(a, c)]] -> c
2023-12-26 05:18:54 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2023-12-26 05:22:33 +0100aforemny_(~aforemny@i59F516F3.versanet.de)
2023-12-26 05:23:59 +0100aforemny(~aforemny@i59F516E4.versanet.de) (Ping timeout: 264 seconds)
2023-12-26 05:25:04 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-12-26 05:25:28 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-26 05:30:37 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Remote host closed the connection)
2023-12-26 05:30:55 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 05:39:43 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-12-26 05:53:25 +0100waldo(~waldo@user/waldo)
2023-12-26 06:01:50 +0100 <erina> @pl \a b c -> a || b || c
2023-12-26 06:01:50 +0100 <lambdabot> (. (||)) . (.) . (||)
2023-12-26 06:12:07 +0100waldo(~waldo@user/waldo) (Ping timeout: 256 seconds)
2023-12-26 06:18:05 +0100srk(~sorki@user/srk) (Quit: ZNC 1.8.1 - https://znc.in)
2023-12-26 06:23:16 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
2023-12-26 06:26:16 +0100srk(~sorki@user/srk)
2023-12-26 06:29:15 +0100srk(~sorki@user/srk) (Client Quit)
2023-12-26 06:31:19 +0100trev(~trev@user/trev)
2023-12-26 06:35:24 +0100rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2023-12-26 06:36:16 +0100rembo10(~rembo10@main.remulis.com)
2023-12-26 06:45:45 +0100srk(~sorki@user/srk)
2023-12-26 06:47:15 +0100 <erina> @pl \a b -> snd . parser False a b
2023-12-26 06:47:15 +0100 <lambdabot> ((snd .) .) . parser False
2023-12-26 06:48:49 +0100 <erina> Why "snd . parser False" does not work here?
2023-12-26 06:49:57 +0100 <erina> So the . operator only works with function with one argument...... I see
2023-12-26 06:51:01 +0100 <erina> @pl \a b -> snd $ parser False a b
2023-12-26 06:51:01 +0100 <lambdabot> (snd .) . parser False
2023-12-26 07:22:19 +0100rekahsoft(~rekahsoft@67.70.201.226) (Ping timeout: 246 seconds)
2023-12-26 07:29:06 +0100YuutaW(~YuutaW@mail.yuuta.moe) (Ping timeout: 245 seconds)
2023-12-26 07:41:57 +0100lisbeths_(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-12-26 07:47:31 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2023-12-26 07:56:16 +0100 <erina> @pl \d -> '*' == x!d
2023-12-26 07:56:16 +0100 <lambdabot> ('*' ==) . (x !)
2023-12-26 07:56:43 +0100 <erina> @pl filter (\d -> '*' == x!d)
2023-12-26 07:56:43 +0100 <lambdabot> filter (('*' ==) . (x !))
2023-12-26 07:56:43 +0100waldo(~waldo@user/waldo)
2023-12-26 07:58:50 +0100rvalue(~rvalue@user/rvalue)
2023-12-26 08:03:00 +0100xacktm(xacktm@user/xacktm)
2023-12-26 08:03:53 +0100phma(~phma@2001:5b0:211f:5c08:7509:960c:b2df:3c16) (Read error: Connection reset by peer)
2023-12-26 08:04:18 +0100phma(phma@2001:5b0:211f:5c08:5748:f5c4:2aca:f8bb)
2023-12-26 08:05:26 +0100chymera(~chymera@ns1000526.ip-51-81-46.us) (Remote host closed the connection)
2023-12-26 08:15:14 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) ()
2023-12-26 08:15:23 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-12-26 08:18:25 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Remote host closed the connection)
2023-12-26 08:18:48 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 08:21:30 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 252 seconds)
2023-12-26 08:21:36 +0100gdd(~gdd@82-65-118-1.subs.proxad.net) (Ping timeout: 245 seconds)
2023-12-26 08:21:55 +0100Luj(~Luj@2a01:e0a:5f9:9681:82a:3c85:203d:f93e) (Ping timeout: 255 seconds)
2023-12-26 08:23:48 +0100Xyloes(~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d)
2023-12-26 08:24:07 +0100 <albet70> I use two MVars on two threads, and I'd like to clear they after a period time like 1 day, what's the suggestion way to do it? make another thread to clear?
2023-12-26 08:29:15 +0100YuutaW(~YuutaW@mail.yuuta.moe)
2023-12-26 08:41:30 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Remote host closed the connection)
2023-12-26 08:41:53 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 08:43:57 +0100Inst(~Inst@120.244.192.161)
2023-12-26 08:45:43 +0100euleritian(~euleritia@dynamic-046-114-200-203.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-12-26 08:46:01 +0100euleritian(~euleritia@p200300d40f2c2a002262e2cc8cb68b7c.dip0.t-ipconnect.de)
2023-12-26 08:46:05 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 240 seconds)
2023-12-26 08:48:55 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 255 seconds)
2023-12-26 08:54:13 +0100misterfish(~misterfis@84.53.85.146)
2023-12-26 08:59:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-26 09:03:36 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-12-26 09:04:47 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 09:14:07 +0100waldo(~waldo@user/waldo) (Ping timeout: 255 seconds)
2023-12-26 09:16:01 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-12-26 09:18:04 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-12-26 09:19:54 +0100phma(phma@2001:5b0:211f:5c08:5748:f5c4:2aca:f8bb) (Read error: Connection reset by peer)
2023-12-26 09:20:18 +0100phma(~phma@host-67-44-208-18.hnremote.net)
2023-12-26 09:21:19 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-12-26 09:22:51 +0100phma(~phma@host-67-44-208-18.hnremote.net) (Read error: Connection reset by peer)
2023-12-26 09:23:14 +0100phma(phma@2001:5b0:211f:5c08:2583:8a77:488e:ea83)
2023-12-26 09:34:06 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-12-26 09:35:16 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2023-12-26 09:37:03 +0100lisbeths_(uid135845@id-135845.lymington.irccloud.com)
2023-12-26 09:37:22 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
2023-12-26 09:48:05 +0100Inst(~Inst@120.244.192.161) (Ping timeout: 240 seconds)
2023-12-26 09:55:25 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-12-26 10:01:52 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 276 seconds)
2023-12-26 10:07:10 +0100rvalue(~rvalue@user/rvalue) (Quit: ZNC - https://znc.in)
2023-12-26 10:07:24 +0100rvalue(~rvalue@user/rvalue)
2023-12-26 10:08:33 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-12-26 10:09:35 +0100shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 264 seconds)
2023-12-26 10:10:53 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-26 10:15:59 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-12-26 10:17:33 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2023-12-26 10:21:14 +0100Tuplanolla(~Tuplanoll@91-159-69-171.elisa-laajakaista.fi)
2023-12-26 10:28:46 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 268 seconds)
2023-12-26 10:34:33 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-12-26 10:37:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 10:44:12 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 10:44:14 +0100danza(~danza@151.57.142.242)
2023-12-26 10:45:02 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
2023-12-26 10:47:34 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2023-12-26 10:47:54 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer)
2023-12-26 10:48:03 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-12-26 10:50:46 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2023-12-26 10:55:32 +0100acidjnk(~acidjnk@p200300d6e72b9309f56e7f62ba59dc38.dip0.t-ipconnect.de)
2023-12-26 10:59:19 +0100notzmv(~zmv@user/notzmv)
2023-12-26 11:07:56 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2023-12-26 11:07:58 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
2023-12-26 11:08:02 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer)
2023-12-26 11:14:50 +0100misterfish(~misterfis@178.224.76.163)
2023-12-26 11:20:07 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2023-12-26 11:22:34 +0100ec(~ec@gateway/tor-sasl/ec)
2023-12-26 11:24:24 +0100srk(~sorki@user/srk) (Quit: ZNC 1.8.1 - https://znc.in)
2023-12-26 11:25:37 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:b5f9:f80e:9e1:be6) (Remote host closed the connection)
2023-12-26 11:28:03 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2023-12-26 11:28:15 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer)
2023-12-26 11:31:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-26 11:33:20 +0100srk(~sorki@user/srk)
2023-12-26 11:41:25 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 260 seconds)
2023-12-26 11:45:00 +0100danza(~danza@151.57.142.242) (Ping timeout: 252 seconds)
2023-12-26 11:45:32 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2023-12-26 11:47:10 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-26 11:49:05 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 11:54:58 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-12-26 11:55:29 +0100ec(~ec@gateway/tor-sasl/ec)
2023-12-26 11:57:31 +0100danza(~danza@rm-19-41-66.service.infuturo.it)
2023-12-26 11:59:45 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 12:00:39 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:d8e3:d1d3:e447:ed54)
2023-12-26 12:03:18 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-12-26 12:06:57 +0100xff0x(~xff0x@2405:6580:b080:900:f37c:caaf:db27:6fe4)
2023-12-26 12:09:36 +0100sawilagar(~sawilagar@user/sawilagar)
2023-12-26 12:19:40 +0100misterfish(~misterfis@178.224.76.163) (Read error: Connection reset by peer)
2023-12-26 12:43:15 +0100abrantesasf(~abrantesa@179.217.48.72)
2023-12-26 12:44:21 +0100waldo(~waldo@user/waldo)
2023-12-26 12:53:11 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-26 12:57:40 +0100phma(phma@2001:5b0:211f:5c08:2583:8a77:488e:ea83) (Read error: Connection reset by peer)
2023-12-26 13:00:44 +0100phma(~phma@host-67-44-208-117.hnremote.net)
2023-12-26 13:04:58 +0100waldo(~waldo@user/waldo) (Ping timeout: 255 seconds)
2023-12-26 13:09:43 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 13:11:11 +0100 <Axman6> albet70: that should be fine, threads in GHC are very cheap, so forkIO (threadDelay n >> takeMVar mv) won't cost you anything at all really
2023-12-26 13:13:16 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds)
2023-12-26 13:17:42 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-12-26 13:22:58 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-12-26 13:24:17 +0100Luj(~Luj@2a01:e0a:5f9:9681:26d9:aa1f:3dc2:6858)
2023-12-26 13:31:14 +0100 <erina> :t /x -> parse x ""
2023-12-26 13:31:15 +0100 <lambdabot> error: parse error on input ‘/’
2023-12-26 13:31:27 +0100 <erina> :t \x -> parse x ""
2023-12-26 13:31:28 +0100 <lambdabot> error:
2023-12-26 13:31:28 +0100 <lambdabot> Variable not in scope: parse :: t -> [Char] -> t1
2023-12-26 13:31:39 +0100 <erina> :t \x -> Text.Parsec.parse x ""
2023-12-26 13:31:41 +0100 <lambdabot> Text.Parsec.Prim.Stream s Identity t => Text.Parsec.Prim.Parsec s () a -> s -> Either Text.Parsec.Error.ParseError a
2023-12-26 13:33:44 +0100mulk(~mulk@p5b2dc93f.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-12-26 13:36:45 +0100erina(~erina@222.195.81.112) (Remote host closed the connection)
2023-12-26 13:37:12 +0100erina(~erina@178.157.56.217.16clouds.com)
2023-12-26 13:39:15 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 13:43:03 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-12-26 13:43:53 +0100mulk(~mulk@p5b2dc93f.dip0.t-ipconnect.de)
2023-12-26 13:45:34 +0100erina(~erina@178.157.56.217.16clouds.com) (Remote host closed the connection)
2023-12-26 13:45:58 +0100erina(~erina@2001:da8:d800:e4ff:db57:2786:f250:c74)
2023-12-26 13:51:06 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-26 13:52:03 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2023-12-26 13:54:55 +0100AlexZenon(~alzenon@94.233.240.140) (Ping timeout: 255 seconds)
2023-12-26 13:59:13 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 14:00:43 +0100waldo(~waldo@user/waldo)
2023-12-26 14:02:21 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Remote host closed the connection)
2023-12-26 14:02:43 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 14:02:51 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds)
2023-12-26 14:04:41 +0100tv(~tv@user/tv) (Ping timeout: 252 seconds)
2023-12-26 14:07:49 +0100 <erina> How is parsec's many different from alternative many? I know that parsec's many throws an exception when its inside matches nothing. What's else?
2023-12-26 14:08:12 +0100 <erina> I have writing such a Parser:
2023-12-26 14:08:31 +0100 <erina> test x = parse x ""
2023-12-26 14:08:34 +0100 <erina> number :: Parsec String () Int
2023-12-26 14:08:36 +0100 <erina> number = many (char ' ') *> (read <$> some (oneOf "1234567890"))
2023-12-26 14:08:38 +0100 <erina> cardid :: Parsec String () Int
2023-12-26 14:08:40 +0100 <erina> cardid = string "Card" >> many (char ' ') *> number <* char ':'
2023-12-26 14:08:42 +0100 <erina> card :: Parsec String () (Int, [Int], [Int])
2023-12-26 14:08:44 +0100 <erina> card = (,,) <$> cardid <*> many number <* many (char ' ') <* string " |" <*> many number
2023-12-26 14:08:46 +0100 <erina> main = print $ test card "Card 1: 72 28 41 15 98 13 27 99 93 38 | 62 5 80 81 53 29 23 25 59 72 90 19 54 86 68 73 55 21 56 27 32 15 12 42 44"
2023-12-26 14:11:07 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 255 seconds)
2023-12-26 14:12:02 +0100 <erina> I'd expect number to fail on the " |" as it can't match (char ' ') and (some (oneOf "1234567890")), and fall on the (string " |") part.
2023-12-26 14:17:58 +0100tv(~tv@user/tv)
2023-12-26 14:18:11 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-12-26 14:20:05 +0100euleritian(~euleritia@p200300d40f2c2a002262e2cc8cb68b7c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-12-26 14:21:38 +0100euleritian(~euleritia@p200300d40f2c2a002262e2cc8cb68b7c.dip0.t-ipconnect.de)
2023-12-26 14:22:38 +0100AlexZenon(~alzenon@94.233.240.140)
2023-12-26 14:24:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 14:29:01 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 276 seconds)
2023-12-26 14:29:57 +0100 <erina> Minimum working example:
2023-12-26 14:30:03 +0100 <erina> number :: Parsec String () Int
2023-12-26 14:30:29 +0100euleritian(~euleritia@p200300d40f2c2a002262e2cc8cb68b7c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-12-26 14:30:32 +0100 <erina> number = many (char ' ') *> (read <$> many1 (oneOf "1234567890"))
2023-12-26 14:30:59 +0100euleritian(~euleritia@dynamic-046-114-201-173.46.114.pool.telefonica.de)
2023-12-26 14:31:32 +0100 <erina> main = print parse (do nums <- many number; sep <- string " |"; return (nums, sep)) "" "1 2 3 12 23 34 |"
2023-12-26 14:32:16 +0100 <erina> This errs: Left (Line 1, column 16): unexpected "|" expected " "
2023-12-26 14:32:37 +0100__monty__(~toonn@user/toonn)
2023-12-26 14:33:10 +0100AlexZenon(~alzenon@94.233.240.140) (Ping timeout: 255 seconds)
2023-12-26 14:34:13 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 14:37:41 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2023-12-26 14:45:02 +0100AlexZenon(~alzenon@94.233.240.140)
2023-12-26 14:47:36 +0100AlexZenon(~alzenon@94.233.240.140) (Read error: Connection reset by peer)
2023-12-26 14:49:13 +0100 <erina> Or, to be shorter, why parse (many (char 'a')) "" "bbbbb" and parse (many (string "ab")) "" "b" succeeds but parse (many (string "ab")) "" "aa" fails?
2023-12-26 14:50:07 +0100 <erina> shouldn't many catch the Left and stop before it?
2023-12-26 14:54:17 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 14:55:53 +0100Xyloes(~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) (Quit: Konversation terminated!)
2023-12-26 14:56:13 +0100Xyloes(~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d)
2023-12-26 14:56:52 +0100AlexZenon(~alzenon@94.233.240.140)
2023-12-26 14:58:11 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-12-26 14:58:30 +0100 <__monty__> erina: many parses zero or more. So it'll always succeed on the empty input. That last parser succeeds partially and then fails.
2023-12-26 14:58:56 +0100 <erina> Then why many failed with left?
2023-12-26 14:59:16 +0100 <erina> Why isn't that Right []?
2023-12-26 14:59:41 +0100 <__monty__> Because it fails.
2023-12-26 15:00:23 +0100waldo(~waldo@user/waldo) (Ping timeout: 256 seconds)
2023-12-26 15:00:26 +0100 <erina> many is some <|> pure []
2023-12-26 15:00:53 +0100 <erina> When it becomes a Left, I guess it should go to the pure [] side?
2023-12-26 15:07:44 +0100 <__monty__> erina: I'm not familiar enough to really explain it. Probably stick around until someone else can do a proper explanation.
2023-12-26 15:08:39 +0100 <__monty__> The problem is when a parser consumes input before failing. Throwing a try in there usually gets the behavior you'd intuitively expect.
2023-12-26 15:09:57 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-26 15:11:08 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-26 15:11:56 +0100 <erina> I got the idea, but I think that parsers by nature allows backtracking? At least it's a Alternative that's not IO......
2023-12-26 15:14:51 +0100 <erina> main = print $ parse (many (string "ab" <|> string "aa")) "" "aaabbb"
2023-12-26 15:15:06 +0100 <__monty__> At least with Megaparsec most parsers don't backtrack by default, https://hackage.haskell.org/package/megaparsec-9.6.1/docs/Text-Megaparsec.html#v:try
2023-12-26 15:15:09 +0100 <erina> This failing on column 1 is just kinda surprising, I'd say
2023-12-26 15:18:11 +0100igemnace(~ian@user/igemnace)
2023-12-26 15:21:12 +0100euleritian(~euleritia@dynamic-046-114-201-173.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-12-26 15:21:26 +0100euleritian(~euleritia@p200300d40f2c2a00a98df70c14869a90.dip0.t-ipconnect.de)
2023-12-26 15:22:30 +0100 <erina> Adding trys solved the problem. TIL try and it's really valuable.
2023-12-26 15:22:48 +0100erina(~erina@2001:da8:d800:e4ff:db57:2786:f250:c74) (Remote host closed the connection)
2023-12-26 15:23:12 +0100erina(~erina@178.157.56.217.16clouds.com)
2023-12-26 15:26:00 +0100minnemano(~minnemano@94-21-108-35.pool.digikabel.hu)
2023-12-26 15:28:22 +0100minnemano(~minnemano@94-21-108-35.pool.digikabel.hu) (Client Quit)
2023-12-26 15:32:30 +0100Szilva(~Szilva@94-21-108-35.pool.digikabel.hu)
2023-12-26 15:33:50 +0100Szilva(~Szilva@94-21-108-35.pool.digikabel.hu) (Client Quit)
2023-12-26 15:36:06 +0100Szilva(~Szilva@94-21-108-35.pool.digikabel.hu)
2023-12-26 15:36:29 +0100lisbeths_(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-12-26 15:36:57 +0100Szilva(~Szilva@94-21-108-35.pool.digikabel.hu) (Client Quit)
2023-12-26 15:37:04 +0100Szilva(~Szilva@94-21-108-35.pool.digikabel.hu)
2023-12-26 15:42:11 +0100Xyloes(~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) (Remote host closed the connection)
2023-12-26 15:42:24 +0100danza(~danza@rm-19-41-66.service.infuturo.it) (Read error: Connection reset by peer)
2023-12-26 15:44:45 +0100califax(~califax@user/califx) (Remote host closed the connection)
2023-12-26 15:54:31 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-12-26 15:55:47 +0100califax(~califax@user/califx)
2023-12-26 15:57:58 +0100danza(~danza@151.43.152.107)
2023-12-26 16:05:29 +0100Sgeo(~Sgeo@user/sgeo)
2023-12-26 16:12:57 +0100xdminsy(~xdminsy@117.147.71.169) (Read error: Connection reset by peer)
2023-12-26 16:13:54 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2023-12-26 16:19:13 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 16:22:51 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds)
2023-12-26 16:23:22 +0100notzmv(~zmv@user/notzmv)
2023-12-26 16:23:50 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-26 16:27:58 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-12-26 16:28:19 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-26 16:43:47 +0100erina(~erina@178.157.56.217.16clouds.com) (Ping timeout: 264 seconds)
2023-12-26 16:49:03 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2023-12-26 16:49:20 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-12-26 16:59:15 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 17:02:15 +0100igemnace(~ian@user/igemnace) (Remote host closed the connection)
2023-12-26 17:02:53 +0100 <trev> why does readFile append a newline?
2023-12-26 17:03:26 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds)
2023-12-26 17:03:36 +0100igemnace(~ian@user/igemnace)
2023-12-26 17:03:44 +0100 <Rembane> trev: It doesn't, do you have an endline at the end of the file?
2023-12-26 17:04:59 +0100 <trev> i shouldn't
2023-12-26 17:05:03 +0100 <trev> i don't see it in my editor at least
2023-12-26 17:06:10 +0100 <Rembane> Cool, what happens if you try main = readFile "the-filename.txt" >>= putStr
2023-12-26 17:06:17 +0100 <Rembane> Do you get the newline?
2023-12-26 17:07:13 +0100 <haskellbridge> 15<J​ade> iirc it does append a newline
2023-12-26 17:07:46 +0100 <haskellbridge> 15<J​ade> rembane: when you do `print` you'd even be able to see it as `\n`
2023-12-26 17:08:09 +0100 <Rembane> Jade: That's a good point!
2023-12-26 17:09:04 +0100 <nullie> why would readFile append a newline?
2023-12-26 17:09:12 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 17:11:26 +0100 <nullie> I think vi at least always append a newline
2023-12-26 17:12:22 +0100 <nullie> so you don't see the difference when opening a file with or without a file
2023-12-26 17:12:32 +0100 <nullie> a newline
2023-12-26 17:12:54 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds)
2023-12-26 17:13:08 +0100 <trev> yeah it sounds ridiculous to me too
2023-12-26 17:13:29 +0100 <Rembane> cat -A will show a $ at the end of each line.
2023-12-26 17:13:47 +0100 <trev> so am i not going nuts?
2023-12-26 17:14:14 +0100 <Rembane> not yet. :)
2023-12-26 17:15:36 +0100 <trev> confirmed with `cat -A` that the file does not have a new line
2023-12-26 17:15:52 +0100 <[Leary]> % do { writeFile "/tmp/test" "test"; s <- readFile "/tmp/test"; putStr (show s) }
2023-12-26 17:15:52 +0100 <yahb2> "test"
2023-12-26 17:16:41 +0100 <trev> sad
2023-12-26 17:16:46 +0100 <Rembane> % do { writeFile "/tmp/test" "test"; s <- readFile "/tmp/test"; print s }
2023-12-26 17:16:46 +0100 <yahb2> "test"
2023-12-26 17:16:50 +0100 <Rembane> Hm...
2023-12-26 17:16:58 +0100 <Rembane> print should add a newline, right?
2023-12-26 17:17:07 +0100 <trev> maybe the bot strips?
2023-12-26 17:19:02 +0100 <trev> can you try it but call `lines <$> readFile...`
2023-12-26 17:19:14 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-12-26 17:19:54 +0100 <Rembane> % do { writeFile "/tmp/test" "test"; s <- readFile "/tmp/test"; print (lines s) }
2023-12-26 17:19:54 +0100 <yahb2> ["test"]
2023-12-26 17:19:57 +0100 <Rembane> Like that?
2023-12-26 17:22:02 +0100 <trev> yeah...
2023-12-26 17:22:17 +0100 <trev> weird
2023-12-26 17:22:31 +0100 <trev> no wait
2023-12-26 17:22:51 +0100 <trev> nah that should be fine. no idea why mine does that then
2023-12-26 17:24:26 +0100 <Rembane> % do { writeFile "/tmp/test" "test\n"; s <- readFile "/tmp/test"; print (lines s) }
2023-12-26 17:24:26 +0100 <yahb2> ["test"]
2023-12-26 17:24:33 +0100 <Rembane> Doesn't say too much that
2023-12-26 17:24:35 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-12-26 17:32:14 +0100jrm(~jrm@user/jrm) (Quit: ciao)
2023-12-26 17:33:42 +0100tabemann(~tabemann@12.215.215.61) (Quit: Leaving)
2023-12-26 17:33:44 +0100jrm(~jrm@user/jrm)
2023-12-26 17:42:41 +0100a51(a51@gateway/vpn/protonvpn/a51)
2023-12-26 17:42:51 +0100waleee(~waleee@h-176-10-144-38.na.cust.bahnhof.se)
2023-12-26 17:46:10 +0100rekahsoft(~rekahsoft@67.70.201.226)
2023-12-26 17:52:46 +0100waldo(~waldo@user/waldo)
2023-12-26 18:09:15 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 18:11:30 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.1.2)
2023-12-26 18:12:02 +0100a51(a51@gateway/vpn/protonvpn/a51)
2023-12-26 18:13:25 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds)
2023-12-26 18:20:28 +0100igemnace(~ian@user/igemnace) (Remote host closed the connection)
2023-12-26 18:21:09 +0100 <haskellbridge> 15<J​ade> How would I structure my program so that I can run something that is an a `MonadIO` in another thread? I read something about `MonadUnliftIO` or something but I'm not sure that's right, and I don't really know where to go from where I am
2023-12-26 18:21:14 +0100igemnace(~ian@user/igemnace)
2023-12-26 18:21:42 +0100 <haskellbridge> 15<J​ade> most of my application is inside a `MonadIO` and it all works fine unless I want to fork inside of it, which doesn't work for obvious reasons
2023-12-26 18:23:59 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 264 seconds)
2023-12-26 18:24:33 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-12-26 18:28:49 +0100igemnace(~ian@user/igemnace) (Remote host closed the connection)
2023-12-26 18:29:45 +0100igemnace(~ian@user/igemnace)
2023-12-26 18:33:07 +0100rvalue(~rvalue@user/rvalue)
2023-12-26 18:33:37 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2023-12-26 18:36:26 +0100 <haskellbridge> 15<J​ade> maybe more generally - how would I multithread something that runs in IO but isn't IO itself (only allows IO to run in it via `MonadIO`)?
2023-12-26 18:36:27 +0100 <haskellbridge> 15<J​ade> The problem is that there is only one entry point, in my case `withMPD :: MPD a -> IO (Response a)` where `MPD` implements `MonadIO` which should also only be called once as it establishes and holds the daemon connection
2023-12-26 18:44:09 +0100Guest3(~Guest3@net-93-70-92-55.cust.vodafonedsl.it)
2023-12-26 18:44:13 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 18:44:28 +0100Guest3(~Guest3@net-93-70-92-55.cust.vodafonedsl.it) (Client Quit)
2023-12-26 18:47:51 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds)
2023-12-26 18:53:55 +0100waldo(~waldo@user/waldo) (Ping timeout: 246 seconds)
2023-12-26 18:54:03 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2023-12-26 18:55:36 +0100waldo(~waldo@user/waldo)
2023-12-26 18:55:53 +0100euleritian(~euleritia@p200300d40f2c2a00a98df70c14869a90.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-12-26 18:56:59 +0100euleritian(~euleritia@dynamic-046-114-204-162.46.114.pool.telefonica.de)
2023-12-26 19:00:30 +0100waldo(~waldo@user/waldo) (Ping timeout: 260 seconds)
2023-12-26 19:02:26 +0100danza(~danza@151.43.152.107) (Ping timeout: 260 seconds)
2023-12-26 19:04:35 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2023-12-26 19:07:28 +0100wroathe(~wroathe@50.205.197.50)
2023-12-26 19:07:28 +0100wroathe(~wroathe@50.205.197.50) (Changing host)
2023-12-26 19:07:28 +0100wroathe(~wroathe@user/wroathe)
2023-12-26 19:09:08 +0100 <monochrom> Jade: OK this is when lifted-base comes in. Control.Concurrent.Lifted's fork is more general than standard fork.
2023-12-26 19:10:03 +0100 <monochrom> But you also have to give something up. It is not going to be simply MonadIO. We know that some instances of MonadIO can't be helped.
2023-12-26 19:11:06 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-26 19:13:02 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds)
2023-12-26 19:17:23 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com)
2023-12-26 19:19:03 +0100misterfish(~misterfis@178.224.155.3)
2023-12-26 19:22:31 +0100 <c_wraith> forkIO is a case where the fact that liftIO doesn't work is a good thing. It's not just the type system getting in the way - it's the type system pointing out that a particular operation is more complicated and you really need to think about what you're doing.
2023-12-26 19:23:07 +0100igemnace(~ian@user/igemnace) (Remote host closed the connection)
2023-12-26 19:23:24 +0100notzmv(~zmv@user/notzmv) (Remote host closed the connection)
2023-12-26 19:24:07 +0100Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Quit: Disconnecting on purpose.)
2023-12-26 19:24:34 +0100notzmv(~zmv@user/notzmv)
2023-12-26 19:25:26 +0100Me-me(~me-me@2602:ff16:3:0:1:dc:beef:d00d)
2023-12-26 19:29:31 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2023-12-26 19:32:57 +0100waldo(~waldo@user/waldo)
2023-12-26 19:33:36 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2023-12-26 19:46:59 +0100qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2023-12-26 19:54:02 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-26 19:57:13 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:d8e3:d1d3:e447:ed54) (Remote host closed the connection)
2023-12-26 19:57:28 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:d8e3:d1d3:e447:ed54)
2023-12-26 19:59:06 +0100drdo(~drdo@bl14-14-49.dsl.telepac.pt) (Ping timeout: 245 seconds)
2023-12-26 20:01:38 +0100misterfish(~misterfis@178.224.155.3) (Ping timeout: 252 seconds)
2023-12-26 20:03:38 +0100target_i(~target_i@217.175.14.39)
2023-12-26 20:15:08 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2023-12-26 20:17:48 +0100drdo(~drdo@bl14-14-49.dsl.telepac.pt)
2023-12-26 20:22:28 +0100 <haskellbridge> 15<J​ade> my GHC is behaving weirdly lol
2023-12-26 20:22:37 +0100 <haskellbridge> 15<J​ade> ```
2023-12-26 20:22:37 +0100 <haskellbridge> 15<J​ade> app/Main.hs:28:1: error:
2023-12-26 20:22:38 +0100 <haskellbridge> 15<J​ade>  Could not load module ‘Control.Monad.Trans.Control’
2023-12-26 20:22:40 +0100 <haskellbridge> 15<J​ade>  It is a member of the hidden package ‘monad-control-1.0.3.1’.
2023-12-26 20:22:41 +0100 <haskellbridge> 15<J​ade>  Perhaps you need to add ‘monad-control’ to the build-depends in your .cabal file.
2023-12-26 20:22:42 +0100 <haskellbridge> 15<J​ade>  It is a member of the hidden package ‘monad-control-1.0.3.1’.
2023-12-26 20:22:43 +0100 <haskellbridge> 15<J​ade>  Perhaps you need to add ‘monad-control’ to the build-depends in your .cabal file.
2023-12-26 20:22:45 +0100 <haskellbridge> 15<J​ade>  It is a member of the hidden package ‘monad-control-1.0.3.1’.
2023-12-26 20:22:46 +0100 <haskellbridge> 15<J​ade>  Perhaps you need to add ‘monad-control’ to the build-depends in your .cabal file.
2023-12-26 20:22:48 +0100 <haskellbridge> 15<J​ade> ```
2023-12-26 20:23:35 +0100 <monochrom> Have you added monad-control as a dependency to your *.cabal file?
2023-12-26 20:23:44 +0100sprout_sprout
2023-12-26 20:23:57 +0100 <haskellbridge> 15<J​ade> no, I was referring to the same error thrice
2023-12-26 20:24:45 +0100 <monochrom> Oh, that, well, heh.
2023-12-26 20:25:00 +0100 <monochrom> "GHC works in mysterious ways."
2023-12-26 20:25:32 +0100waldo(~waldo@user/waldo) (Ping timeout: 256 seconds)
2023-12-26 20:26:23 +0100 <phma> I've been working on a repo which I think is ready to tag and submit to Hackage. So far I've submitted only a candidate of another package. Could someone check before I submit it?
2023-12-26 20:30:54 +0100euleritian(~euleritia@dynamic-046-114-204-162.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2023-12-26 20:31:09 +0100euleritian(~euleritia@p200300d40f2c2a003cb2465a4542f569.dip0.t-ipconnect.de)
2023-12-26 20:32:06 +0100waldo(~waldo@user/waldo)
2023-12-26 20:32:18 +0100 <haskellbridge> 15<J​ade> Also, reading the docs of lifted-base, it seems like this is not what I want? `Note that, while the forked computation m () has access to the captured state, all its side-effects in m are discarded. It is run only for its side-effects in IO.`
2023-12-26 20:35:48 +0100 <monochrom> I believe it refers to, for example, StateT S IO (). Clearly, since that "mutable state" is simulated by the relatively pure S -> IO (a,S), there is no way two threads share the "same" "mutable variable", since there is really none.
2023-12-26 20:36:19 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Read error: Connection reset by peer)
2023-12-26 20:36:37 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2023-12-26 20:36:51 +0100waldo(~waldo@user/waldo) (Ping timeout: 252 seconds)
2023-12-26 20:42:53 +0100mikess(~sam@user/mikess)
2023-12-26 20:43:22 +0100waldo(~waldo@user/waldo)
2023-12-26 20:48:12 +0100waldo(~waldo@user/waldo) (Ping timeout: 268 seconds)
2023-12-26 20:48:55 +0100waldo(~waldo@user/waldo)
2023-12-26 20:51:58 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-12-26 20:55:01 +0100waldo(~waldo@user/waldo) (Ping timeout: 246 seconds)
2023-12-26 21:00:47 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-26 21:01:36 +0100waldo(~waldo@user/waldo)
2023-12-26 21:05:21 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2023-12-26 21:07:47 +0100waldo(~waldo@user/waldo) (Ping timeout: 264 seconds)
2023-12-26 21:08:24 +0100waldo(~waldo@user/waldo)
2023-12-26 21:20:43 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-12-26 21:25:00 +0100wroathe(~wroathe@50.205.197.50)
2023-12-26 21:25:00 +0100wroathe(~wroathe@50.205.197.50) (Changing host)
2023-12-26 21:25:00 +0100wroathe(~wroathe@user/wroathe)
2023-12-26 21:26:19 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 276 seconds)
2023-12-26 21:31:24 +0100trev(~trev@user/trev) (Quit: trev)
2023-12-26 21:32:51 +0100euleritian(~euleritia@p200300d40f2c2a003cb2465a4542f569.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-12-26 21:33:49 +0100euleritian(~euleritia@p200300d40f2c2a0089a6e55907c87f5a.dip0.t-ipconnect.de)
2023-12-26 21:36:19 +0100 <juri_> phma: what's it about?
2023-12-26 21:45:43 +0100 <phma> juri_: it's a cryptographic library
2023-12-26 21:49:14 +0100notzmv(~zmv@user/notzmv)
2023-12-26 21:49:40 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-12-26 21:53:00 +0100 <juri_> never write your own cryptography. :)
2023-12-26 21:54:46 +0100 <phma> if no one ever wrote their own cryptography, there'd be no cryptography. now about the package...
2023-12-26 21:56:47 +0100 <duncan> it's one of those things which seems to be said a lot but isn't reinforced nearly enough.
2023-12-26 21:57:31 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-12-26 21:57:39 +0100not_reserved(~not_reser@154.16.157.99)
2023-12-26 21:59:43 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 256 seconds)
2023-12-26 22:01:37 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920)
2023-12-26 22:03:25 +0100 <phma> My question is about making a package, not about cryptography.
2023-12-26 22:06:57 +0100waldo(~waldo@user/waldo) (Ping timeout: 256 seconds)
2023-12-26 22:11:31 +0100 <glguy> phma: you didn't actually link to the package, so probably no one can help
2023-12-26 22:12:25 +0100 <phma> https://github.com/phma/wring-twistree
2023-12-26 22:15:46 +0100myclm_(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 268 seconds)
2023-12-26 22:17:37 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2023-12-26 22:20:53 +0100target_i(~target_i@217.175.14.39) (Quit: leaving)
2023-12-26 22:24:54 +0100 <phma> I'm leaving in about two hours, so if it takes you more than an hour to check the package, you may want to send me an email.
2023-12-26 22:25:53 +0100euleritian(~euleritia@p200300d40f2c2a0089a6e55907c87f5a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2023-12-26 22:26:06 +0100euleritian(~euleritia@dynamic-046-114-204-162.46.114.pool.telefonica.de)
2023-12-26 22:26:10 +0100waldo(~waldo@user/waldo)
2023-12-26 22:38:01 +0100tabemann(~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2023-12-26 22:38:41 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2023-12-26 22:44:19 +0100 <phma> I ran "stack sdist" and the resulting tarball does not include the package.yaml file! Why?
2023-12-26 22:45:10 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-12-26 22:45:15 +0100 <glguy> the package.yaml isn't part of the sdist, it's an old way to make the .cabal file
2023-12-26 22:45:54 +0100 <glguy> When someone installs from the tarball they likely won't have the hpack executable
2023-12-26 22:47:32 +0100 <monochrom> If you are uploading to hackage, do people who download from hackage need package.yaml? (This is partly a conjecture and partly a real question.)
2023-12-26 22:47:47 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:d8e3:d1d3:e447:ed54) (Remote host closed the connection)
2023-12-26 22:47:55 +0100 <glguy> No, they don't need it; they'll use the packaged.cabal file
2023-12-26 22:48:15 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:d8e3:d1d3:e447:ed54)
2023-12-26 22:48:35 +0100 <glguy> (Cabal will use it automatically even if they don't notice the file)
2023-12-26 22:49:04 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-12-26 22:49:28 +0100chomwitt(~chomwitt@ppp-94-67-236-252.home.otenet.gr)
2023-12-26 22:49:57 +0100 <glguy> The generated .cabal file should be committed to your repository
2023-12-26 22:50:13 +0100 <glguy> Snoyberg had a blog post explaining this
2023-12-26 22:53:55 +0100 <remexre> is "Down with kinds: adding dependent heterogeneous equality to FC" the most recent/accurate description of Core's type system?
2023-12-26 22:54:27 +0100 <phma> If someone just wants to install it, the .cabal file is enough. But if someone wants to work on it, they'll need the package.yaml file, as that's what Stack uses to make the .cabal file.
2023-12-26 22:54:55 +0100 <phma> Both are committed to the repo.
2023-12-26 22:55:06 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-12-26 22:57:31 +0100 <monochrom> From "it is an extension of the System FC intermediate language used by GHC today" I bet that "extension" means "maybe future, but not today".
2023-12-26 22:58:39 +0100 <geekosaur> stack works perfectly well with a cabal file, last I checked
2023-12-26 23:00:38 +0100 <monochrom> But it sounds like when one day you find a GHC version that can promote GADTs, that will mean it uses what the paper says. :)
2023-12-26 23:01:37 +0100 <monochrom> Hrm, it's a 2012 paper? Then I'm outdated.
2023-12-26 23:05:59 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568)
2023-12-26 23:06:45 +0100pavonia(~user@user/siracusa)
2023-12-26 23:07:42 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568) (Remote host closed the connection)
2023-12-26 23:08:00 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568)
2023-12-26 23:15:54 +0100 <remexre> monochrom: yeah, unless I'm testing it wrong, GHC 9.0 doesn't complain about using a promoted GADT
2023-12-26 23:16:51 +0100 <remexre> oops, 9.6* (didn't realize I'd updated...)
2023-12-26 23:20:25 +0100 <geekosaur> I think that went in at some point?
2023-12-26 23:23:42 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568) (Remote host closed the connection)
2023-12-26 23:23:55 +0100 <geekosaur> hm, not seeing it so far
2023-12-26 23:24:01 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568)
2023-12-26 23:24:44 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2023-12-26 23:25:12 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568) (Remote host closed the connection)
2023-12-26 23:25:30 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568)
2023-12-26 23:32:05 +0100 <geekosaur> added in 8.0.1
2023-12-26 23:37:12 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568) (Remote host closed the connection)
2023-12-26 23:37:30 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568)
2023-12-26 23:38:17 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:d8e3:d1d3:e447:ed54) (Remote host closed the connection)
2023-12-26 23:53:07 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568) (Remote host closed the connection)
2023-12-26 23:53:30 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568)
2023-12-26 23:56:42 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568) (Remote host closed the connection)
2023-12-26 23:56:59 +0100myclm_(~myclm_@2a02:810d:b83f:fcc0:7766:ea2b:35b7:e568)