Home liberachat/#haskell: Logs Calendar

Logs on 2023-12-15 (liberachat/#haskell)

00:05:45 Square2 joins (~Square4@user/square)
00:09:06 × Square quits (~Square@user/square) (Ping timeout: 245 seconds)
00:11:42 × migas9 quits (~migas@static.140.65.63.178.clients.your-server.de) (Quit: The Lounge - https://thelounge.github.io)
00:12:05 migas9 joins (~migas@static.140.65.63.178.clients.your-server.de)
00:17:06 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
00:19:45 cimento joins (CO2@gateway/vpn/protonvpn/cimento)
00:22:14 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
00:27:52 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 276 seconds)
00:28:09 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
00:33:57 × jargon quits (~jargon@32.sub-174-238-226.myvzw.com) (Read error: Connection reset by peer)
00:39:42 finsternis joins (~X@23.226.237.192)
00:49:04 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
00:54:11 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
00:54:33 azimut joins (~azimut@gateway/tor-sasl/azimut)
01:05:21 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:05:54 califax joins (~califax@user/califx)
01:09:09 × thaumavorio quits (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
01:10:04 thaumavorio joins (~thaumavor@thaumavor.io)
01:11:47 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
01:14:08 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Client Quit)
01:16:54 × cimento quits (CO2@gateway/vpn/protonvpn/cimento) (Quit: WeeChat 4.1.2)
01:31:20 jargon joins (~jargon@32.sub-174-238-226.myvzw.com)
01:32:36 <sm> ha ha you joke but it's true
01:33:11 <sm> don't forget to press the keys far enough down, and for the right length of time
01:36:24 × sagax quits (~sagax_nb@user/sagax) (Quit: Konversation terminated!)
01:36:54 <johnw> what about my hybrid-mechanical Topre switches?
01:37:05 <johnw> it's all about capacitance
01:37:12 off^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
01:38:06 <c_wraith> I'm sure they do some quantum too
01:42:11 <duncan> Not all lambs enter text mechanically.
01:42:30 not_reserved joins (~not_reser@154.16.157.89)
01:46:58 × qeef quits (~qeef@138-169-143-94.cust.centrio.cz) (Ping timeout: 260 seconds)
01:51:00 trev joins (~trev@user/trev)
01:51:05 bilegeek joins (~bilegeek@2600:1008:b029:c7b:60a3:ae57:a8c4:7ffb)
02:02:57 arahael_ joins (~arahael@1.145.73.104)
02:13:18 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
02:14:43 arahael_ parts (~arahael@1.145.73.104) ()
02:22:16 × xff0x quits (~xff0x@ai085147.d.east.v6connect.net) (Ping timeout: 276 seconds)
02:24:45 cimento joins (CO2@gateway/vpn/protonvpn/cimento)
02:25:17 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
02:25:35 euleritian joins (~euleritia@dynamic-089-204-137-128.89.204.137.pool.telefonica.de)
02:29:55 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
02:51:12 arkoinad joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
02:52:55 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
02:59:17 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Quit: peterbecich)
02:59:42 <albet70> Module `Network.Wai.Handler.WarpTLS' does not export `certFile'
02:59:55 <albet70> Module `Network.Wai.Handler.WarpTLS' does not export `keyFile'
02:59:56 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
03:00:17 <albet70> help, I do not find certFile and keyFile on hackage
03:00:40 <albet70> in Web/Scotty/TLS.hs:17:47: error:
03:02:18 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:02:19 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:04:51 <glguy> albet70: What are you doing that generates that error? What is the actual error? Can you put that stuff on a pastebin?
03:07:50 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:13:30 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
03:15:26 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
03:16:00 chexum joins (~quassel@gateway/tor-sasl/chexum)
03:22:33 × bilegeek quits (~bilegeek@2600:1008:b029:c7b:60a3:ae57:a8c4:7ffb) (Quit: Leaving)
03:25:39 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
03:26:07 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 256 seconds)
03:26:53 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in)
03:29:07 ChaiTRex joins (~ChaiTRex@user/chaitrex)
03:34:11 × td_ quits (~td@i53870935.versanet.de) (Ping timeout: 264 seconds)
03:35:40 td_ joins (~td@i53870901.versanet.de)
03:37:28 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7854:33e:c79:490a) (Remote host closed the connection)
03:37:43 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:7854:33e:c79:490a)
03:37:44 juri_ joins (~juri@79.140.115.70)
03:41:12 Fischmiep joins (~Fischmiep@user/Fischmiep)
03:44:06 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 245 seconds)
03:47:23 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
03:47:45 × edr quits (~edr@user/edr) (Quit: Leaving)
03:55:48 juri_ joins (~juri@79.140.115.70)
04:00:32 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
04:00:32 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
04:00:32 finn_elija is now known as FinnElija
04:15:42 gdown joins (~gavin@h69-11-149-109.kndrid.broadband.dynamic.tds.net)
04:18:35 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 264 seconds)
04:19:16 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 276 seconds)
04:23:56 alp__ joins (~alp@2001:861:e3d6:8f80:5a31:359d:473d:feba)
04:26:10 <albet70> glguy , https://paste.tomsmeding.com/0DWUhtax
04:27:11 <glguy> albet70: that package doesn't bother listing the bounds of packages it supports because the author would rather you figured that out
04:27:35 <glguy> so you'll need to just hunt back through old versions until you find one that works
04:28:00 <glguy> scotty-tls doesn't give lower bounds, so that's probably a good place to start looking
04:28:55 <glguy> does give*
04:29:44 <glguy> this package was uploaded in 2015, so you might end up needing to use an older GHC from that time to get everything working together
04:30:28 × euleritian quits (~euleritia@dynamic-089-204-137-128.89.204.137.pool.telefonica.de) (Read error: Connection reset by peer)
04:30:33 juri_ joins (~juri@implicitcad.org)
04:30:45 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
04:32:33 <albet70> I use the same GHC 8.8.4 on server and local, it's fine on server
04:33:13 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
04:35:21 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 245 seconds)
04:35:33 aforemny_ joins (~aforemny@2001:9e8:6cf8:1100:2b89:5b54:fffc:6f71)
04:36:46 × aforemny quits (~aforemny@2001:9e8:6cd0:cf00:ceee:c285:db94:113d) (Ping timeout: 255 seconds)
04:41:59 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
04:42:27 rosco joins (~rosco@42.153.142.252)
04:45:33 igemnace joins (~ian@user/igemnace)
04:49:17 Core9635 joins (~rosco@42.153.135.47)
04:49:18 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
04:50:18 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
04:50:36 Core5096 joins (~rosco@42.153.134.138)
04:50:36 × Core5096 quits (~rosco@42.153.134.138) (Client Quit)
04:50:37 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:52:52 × rosco quits (~rosco@42.153.142.252) (Ping timeout: 256 seconds)
04:53:31 × Core9635 quits (~rosco@42.153.135.47) (Ping timeout: 256 seconds)
05:02:49 rosco joins (~rosco@175.136.152.56)
05:05:34 juri_ joins (~juri@implicitcad.org)
05:10:19 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 260 seconds)
05:13:04 <probie> albet70: Unless you _really_ need to do it in your Haskell program, I'd recommend outsourcing ssl termination to something like nginx
05:21:02 × Natch quits (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
05:22:12 bilegeek joins (~bilegeek@2600:1008:b029:c7b:60a3:ae57:a8c4:7ffb)
05:22:19 × alp__ quits (~alp@2001:861:e3d6:8f80:5a31:359d:473d:feba) (Ping timeout: 276 seconds)
05:26:19 Natch joins (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
05:27:46 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
05:29:14 _xor4 joins (~xor@72.49.195.41)
05:29:23 × _xor quits (~xor@72.49.195.41) (Quit: Ping timeout (120 seconds))
05:29:23 _xor4 is now known as _xor
05:30:15 × ddellacosta quits (~ddellacos@ool-44c73d16.dyn.optonline.net) (Quit: WeeChat 4.1.1)
05:30:27 michalz joins (~michalz@185.246.207.193)
05:30:34 juri_ joins (~juri@implicitcad.org)
05:32:51 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds)
05:33:07 × michalz quits (~michalz@185.246.207.193) (Client Quit)
05:36:00 michalz joins (~michalz@185.246.207.221)
05:37:38 × araujo quits (~araujo@45.131.194.179) (Ping timeout: 256 seconds)
05:38:36 alp__ joins (~alp@2001:861:e3d6:8f80:e203:a875:4a9f:f7d5)
05:38:48 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
05:38:52 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 255 seconds)
05:45:22 igemnace joins (~ian@user/igemnace)
05:45:36 juri_ joins (~juri@implicitcad.org)
05:46:08 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
05:46:34 euleritian joins (~euleritia@dynamic-089-204-137-128.89.204.137.pool.telefonica.de)
05:50:05 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 240 seconds)
06:03:22 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
06:07:52 acidjnk joins (~acidjnk@p200300d6e72b9322007c3ef187da4880.dip0.t-ipconnect.de)
06:16:11 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
06:19:35 <albet70> it's the warp-tls problem, I have fix it
06:19:46 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
06:22:51 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:28:17 CiaoSen joins (~Jura@2a05:5800:2b7:6a00:ca4b:d6ff:fec1:99da)
06:34:32 × monochrom quits (trebla@216.138.220.146) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
06:37:31 CrunchyFlakes_ joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
06:38:30 × CrunchyFlakes quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
06:42:07 × CrunchyFlakes_ quits (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Client Quit)
06:42:35 CrunchyFlakes joins (~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
06:45:36 juri_ joins (~juri@79.140.115.70)
06:49:19 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
06:56:16 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
06:57:07 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
06:59:13 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 268 seconds)
07:01:52 × not_reserved quits (~not_reser@154.16.157.89) (Quit: Client closed)
07:03:15 fendor joins (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
07:08:51 monochrom joins (trebla@216.138.220.146)
07:10:54 juri_ joins (~juri@implicitcad.org)
07:12:00 leungbk joins (~user@2603-8000-1201-2dd2-e591-5820-3a6e-871e.res6.spectrum.com)
07:12:08 × erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 252 seconds)
07:13:24 erisco joins (~erisco@d24-141-66-165.home.cgocable.net)
07:13:42 × alp__ quits (~alp@2001:861:e3d6:8f80:e203:a875:4a9f:f7d5) (Ping timeout: 268 seconds)
07:14:55 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
07:15:55 juri__ joins (~juri@79.140.115.70)
07:16:07 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
07:17:22 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 276 seconds)
07:17:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
07:18:19 × juri__ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
07:23:19 alp__ joins (~alp@2001:861:e3d6:8f80:597b:b8e2:b36e:d095)
07:30:53 juri_ joins (~juri@79.140.115.70)
07:33:35 × doyougnu quits (~doyougnu@045-046-170-068.res.spectrum.com) (Ping timeout: 260 seconds)
07:39:43 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
07:42:05 ChaiTRex joins (~ChaiTRex@user/chaitrex)
07:43:00 notzmv joins (~zmv@user/notzmv)
07:45:19 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 255 seconds)
07:46:45 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
07:47:43 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
07:49:06 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
07:49:55 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
07:52:14 × gdown quits (~gavin@h69-11-149-109.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
07:52:15 juri_ joins (~juri@implicitcad.org)
07:53:07 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:57:29 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 268 seconds)
07:59:53 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:00:28 × ft quits (~ft@p4fc2ae2b.dip0.t-ipconnect.de) (Quit: leaving)
08:04:31 × jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 245 seconds)
08:04:51 jjhoo joins (~jahakala@user/jjhoo)
08:05:03 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds)
08:07:32 doyougnu joins (~doyougnu@045-046-170-068.res.spectrum.com)
08:08:09 danza joins (~danza@151.47.246.147)
08:12:19 × doyougnu quits (~doyougnu@045-046-170-068.res.spectrum.com) (Ping timeout: 260 seconds)
08:14:55 doyougnu joins (~doyougnu@045-046-170-068.res.spectrum.com)
08:16:25 × leungbk quits (~user@2603-8000-1201-2dd2-e591-5820-3a6e-871e.res6.spectrum.com) (Read error: Connection reset by peer)
08:17:33 motherfsck joins (~motherfsc@user/motherfsck)
08:17:52 leungbk joins (~user@2603-8000-1201-2dd2-e591-5820-3a6e-871e.res6.spectrum.com)
08:18:31 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
08:19:10 × leungbk quits (~user@2603-8000-1201-2dd2-e591-5820-3a6e-871e.res6.spectrum.com) (Remote host closed the connection)
08:23:29 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
08:25:22 vpan joins (~vpan@mail.elitnet.lt)
08:26:52 leungbk joins (~user@2603-8000-1201-2dd2-e591-5820-3a6e-871e.res6.spectrum.com)
08:27:15 juri_ joins (~juri@implicitcad.org)
08:30:03 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:7854:33e:c79:490a) (Remote host closed the connection)
08:32:07 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 276 seconds)
08:34:31 × Square2 quits (~Square4@user/square) (Ping timeout: 256 seconds)
08:36:02 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 268 seconds)
08:36:24 Pixi` is now known as Pixi
08:41:22 × danza quits (~danza@151.47.246.147) (Read error: Connection reset by peer)
08:42:12 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:b851:fee:89b5:e238) (Ping timeout: 268 seconds)
08:50:58 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 276 seconds)
08:51:50 × urdh quits (~urdh@user/urdh) (Quit: Boom!)
08:54:39 waldo joins (~waldo@user/waldo)
08:59:13 danse-nr3 joins (~danse@151.37.181.227)
09:00:51 urdh joins (~urdh@user/urdh)
09:02:06 <mauke> love getting spam mail from "Jonathan Haskel"
09:02:21 juri_ joins (~juri@79.140.115.70)
09:02:23 × waldo quits (~waldo@user/waldo) (Ping timeout: 264 seconds)
09:03:59 mauke wibbles
09:05:17 <mauke> heh. the matrix bridge is kinda broken with ACTIONs. instead of turning it into a matrix action, it makes the haskellbridge bridge bot say "* haskellbridge <mauke> wibbles"
09:05:24 <mauke> why is it repeating its own name? :-D
09:06:00 × off^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 252 seconds)
09:06:34 × dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 276 seconds)
09:07:01 off^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
09:07:02 dsrt^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
09:07:37 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
09:07:44 haskellbridge 14<m​auke> wobbles
09:07:44 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
09:09:24 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e)
09:12:02 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
09:13:08 juri_ joins (~juri@implicitcad.org)
09:13:32 × tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
09:17:32 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 252 seconds)
09:18:09 juri_ joins (~juri@79.140.115.70)
09:19:13 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
09:19:47 machinedgod joins (~machinedg@80.120.71.2)
09:20:34 × machinedgod quits (~machinedg@80.120.71.2) (Client Quit)
09:20:53 machinedgod joins (~machinedg@80.120.71.2)
09:20:55 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
09:21:25 sord937 joins (~sord937@gateway/tor-sasl/sord937)
09:23:10 juri_ joins (~juri@79.140.115.70)
09:23:46 chele joins (~chele@user/chele)
09:24:29 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
09:25:02 cfricke joins (~cfricke@user/cfricke)
09:25:02 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
09:25:07 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
09:27:19 <dminuoso_> mauke: Perhaps for parity in IRC?
09:27:26 Lord_of_Life_ is now known as Lord_of_Life
09:32:31 × danse-nr3 quits (~danse@151.37.181.227) (Remote host closed the connection)
09:33:18 danse-nr3 joins (~danse@151.37.181.227)
09:36:16 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
09:37:46 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:38:02 Unhammer parts (~Unhammer@user/unhammer) (WeeChat 2.3)
09:38:10 juri_ joins (~juri@implicitcad.org)
09:40:48 fed_kaczynski joins (~fed_kaczy@2001:19f0:8001:199:69:420:420:69)
09:41:10 __monty__ joins (~toonn@user/toonn)
09:41:40 × leungbk quits (~user@2603-8000-1201-2dd2-e591-5820-3a6e-871e.res6.spectrum.com) (Ping timeout: 276 seconds)
09:42:09 gehmehgeh joins (~user@user/gehmehgeh)
09:43:10 juri__ joins (~juri@79.140.115.70)
09:44:20 dhil joins (~dhil@2001:8e0:2014:3100:cf69:c04f:eff8:3899)
09:46:47 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 264 seconds)
09:46:57 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
09:49:45 leungbk joins (~user@142-129-149-172.res.spectrum.com)
09:50:45 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
09:52:47 × juri__ quits (~juri@79.140.115.70) (Ping timeout: 264 seconds)
09:54:23 juri_ joins (~juri@implicitcad.org)
09:57:16 <srk> hmm, if an old user can't migrate their old hackage account from basic auth, should they just contact support?
09:58:07 × jargon quits (~jargon@32.sub-174-238-226.myvzw.com) (Remote host closed the connection)
09:59:14 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
10:04:03 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 256 seconds)
10:04:40 juri_ joins (~juri@79.140.115.70)
10:04:50 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
10:05:14 <albet70> is MVar efficent?
10:05:18 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
10:06:11 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
10:07:49 × leungbk quits (~user@142-129-149-172.res.spectrum.com) (Remote host closed the connection)
10:08:33 <dminuoso_> srk: Are you saying that Hackage in 2023 has moved away from HTTP Basic Authentication?
10:09:17 leungbk joins (~user@2603-8000-1201-2dd2-d9b7-e17d-8038-dc13.res6.spectrum.com)
10:09:35 <srk> dminuoso_: seems like it! https://github.com/haskell/hackage-server/issues/1153#issuecomment-1370308832
10:09:40 juri_ joins (~juri@79.140.115.70)
10:09:55 <srk> for legacy accounts whatever it means
10:10:05 <srk> hmm, there's #hackage as well
10:16:41 <srk> dminuoso_: I want to add 2FA to it https://github.com/haskell/hackage-server/issues/1265
10:16:48 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
10:17:12 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
10:17:18 <dminuoso_> Hackage in a really strange state. :S
10:17:29 <dminuoso_> The code base is old and strangely written.
10:17:55 <srk> yeah, it is interesting! I like that it uses acid-state and plugins
10:18:29 × machinedgod quits (~machinedg@80.120.71.2) (Ping timeout: 240 seconds)
10:18:50 <dminuoso_> Recently Ive just bitten the bullet and accepted that Haskell is just not the ideal language for easy web development.
10:19:04 <dminuoso_> And Im being very nice here.
10:19:19 <danse-nr3> because there is no good javascript solution?
10:20:02 <srk> recently I've stumbled on some mailicious package listed in Reverse dependencies that was removed from db but not everywhere it seems
10:20:40 <srk> dminuoso_: https://joeyh.name/blog/entry/Haskell_webassembly_in_the_browser/
10:20:49 <dminuoso_> danse-nr3: No, its just the only real solution for quickly prototyping stuff is yesod, which puts you in a world of quasiquoters, template haskell, opioninated stuff, etc..
10:21:36 <srk> possibly IHP as well https://ihp.digitallyinduced.com/ (but no experience with that)
10:21:39 <dminuoso_> srk: Sure, I mean my issue is not that its fundamentally impossible. Its just that there is no good ecosystem of easy-to-use, extensible web-related packages you can plug together.
10:21:42 <srk> I've only used miso for frontend before
10:21:55 <srk> indeed
10:22:04 <srk> (purescript! :D)
10:22:10 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
10:22:15 <srk> but it's a very large investment
10:22:30 <dminuoso_> The things you do have will toss a dependency closure of 127 packages at you.
10:23:36 <srk> recently I've opted for javascript, npm, nix for fronted with just haskell backend. for implicitcad web editor https://editor.staging.48.io/
10:24:08 <srk> because otherwise I would have to wrap d3.js and monaco via purescript or miso
10:29:10 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
10:30:26 <danse-nr3> yeah, no good solution for the javascript problem yet, purescript and backends being my best bets. I have been told that web assembly is far from being a complete spec, while haskell-to-javascript moving out of GHCJS and into an embedded backend gives me some hope. Possibly stuff like miso will become more reliable with that. Yesod seems dead to me, it failed being haskell's django. Server side rendering is of less and less worth since ... almost 10
10:30:26 <danse-nr3> years now? And yesod's concept of "batteries included" seems to be more "all ghc features included". But it was a brave attempt
10:31:18 × bilegeek quits (~bilegeek@2600:1008:b029:c7b:60a3:ae57:a8c4:7ffb) (Quit: Leaving)
10:32:15 juri_ joins (~juri@79.140.115.70)
10:36:25 <srk> fun, I've never used yesod but persistent is great
10:37:42 <hc> Indeed, persistent is great!
10:38:02 <hc> And there's another library if you need more sql features but retain the type safety... cannot remember the name but it works together with persistent
10:38:48 <srk> esqueleto?
10:39:01 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 255 seconds)
10:39:04 <hc> yes indeed
10:40:09 <danse-nr3> this is a nice post about SQL solutions that appeared on haskell weekly some time ago dev.to/zelenya/series/24889
10:40:28 juri_ joins (~juri@implicitcad.org)
10:41:51 <Rembane> Lets make it clickable: https://dev.to/zelenya/series/24889
10:42:31 <danse-nr3> it is clickable also without protocol for me on hexchat
10:42:36 <dminuoso_> For me, Im just offloading everything into Django for web right not at $work
10:42:45 <dminuoso_> But we dont care for SPA, so there's that.
10:43:20 <danse-nr3> django is not great for client side logic, but it has sooo many other advantages...
10:43:52 <dminuoso_> Its dead simple, very low complexity abstractions, but very extensible/hookable. And it comes with a rich ecosystem of utility things.
10:43:56 <dminuoso_> And it has a near zero dependency footprint.
10:44:06 <dminuoso_> That last bit is what sometimes really annoys me about Haskell.
10:44:57 <dminuoso_> So many packages will drag 1/3 of hackage alongside, which introduces issues with updates, supply chain trust, portability, cross compilation, mere compile time, etc..
10:45:21 <danse-nr3> its ecosystem is ridicolous, and it made some great design choices. That default interface you get ... is that called the admin app? You can model data while your clients fill it in
10:45:27 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
10:45:34 <danse-nr3> *ridiculous
10:45:46 rvalue joins (~rvalue@user/rvalue)
10:46:01 <srk> +!
10:47:00 <dminuoso_> danse-nr3: Not quite, the admin app is rather a very simple CRUD interface that you can register models with.
10:47:17 <dminuoso_> So it allows for some extremely rapid CRUD interface from a superadmin point of view.
10:47:45 <danse-nr3> exactly. So you can model data while your clients browse that interface and play writing stuff in
10:47:49 <dminuoso_> It certainly beats having to drop into psql to quickly manage data in ways you havent designed a user interface for
10:48:21 <dminuoso_> The thing I just mainly like is that for the most part its abstraction fre.
10:48:26 <dminuoso_> A view? Function that returns a HTTP resposne.
10:48:29 <dminuoso_> It's very functional
10:49:51 <dminuoso_> Django middleware? Exactly the same as a WAI middleware
10:50:03 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 260 seconds)
10:50:10 <danse-nr3> now something that seems promising to me is the new `mig` library, as it tries to limit abstractions. Too bad they picked such a painful name
10:50:32 <dminuoso_> Which library is that?
10:50:43 <danse-nr3> @hackage mig
10:50:43 <lambdabot> https://hackage.haskell.org/package/mig
10:50:58 <dminuoso_> Says lightweiht, first dependency aeson.
10:51:03 <dminuoso_> :>
10:51:08 <danse-nr3> it's early stage still
10:51:28 <danse-nr3> not sure which direction will take
10:51:37 <dminuoso_> But seriously, aeson is perhaps my most disliked package of all hackage.
10:51:51 <danse-nr3> arguable statement
10:51:56 <dminuoso_> The dependency list is getting so large, I nearly have to start scrolling.
10:52:43 <dminuoso_> danse-nr3: Id be interested in how you can argue about what I dislike. :-P
10:52:57 <danse-nr3> by overlooking the "my" :P
10:53:26 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:53:59 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:55:14 <danse-nr3> meh persistent does not even have its own doc hackage.haskell.org/package/persistent-2.14.6.0#readme. With snoyman detaching from haskell, i wonder whether persistent will develop outside yesod well enough
10:55:52 <dminuoso_> Huh, did I miss something? Snoyman is detaching from haskell?
10:56:18 <danse-nr3> i got that impression but i am not very well informed
10:56:49 <dminuoso_> Last I checked he was taking a year off for his kid.
10:57:14 <dminuoso_> But at the end you raise a still relevant point. Much of hackage are in reality just one-man shows.
10:57:37 <dminuoso_> While Haskellers tend to care much better for their packages on average it seems, the bus factor is still a considerable risk.
10:58:29 <danse-nr3> when i went to mainstream into haskell, that was giving me panic. Any library i would like to use seemed super-fragile
10:58:44 <danse-nr3> *from mainstream
10:58:57 <dminuoso_> Honestly, the fragility of packages is much worse in other ecosystems.
10:59:12 <srk> indeed
10:59:17 <danse-nr3> different type of fragile so to speak
10:59:44 <srk> danse-nr3: you can possibly co-maintain some to increase the bus factor
11:00:02 <dminuoso_> danse-nr3: What I found interesting is how sometimes package maintainers build a really fancy facade in other ecosystems.
11:00:56 <danse-nr3> that's why "all ghc features included" is a bad idea, unfortunately still popular srk. What do you mean dminuoso_?
11:01:28 <dminuoso_> If you look at python fastapi, it looks all fancy and very actively developed. But in reality its hanging 600 pull requests behind, is maintained and written by one singular person, and the author has built a machinery that generates so many commits a day, that it looks really really active.
11:01:53 <dminuoso_> But the community perceives the package to be in a good state. Objectively its really not.
11:02:16 <int-e> dminuoso_: "lightweight" is meaningless. You can write a lot of Haskell code before you compete with the size of node.js for example :) (libnode.so is a 46MB shared object here...)
11:02:17 <dminuoso_> The commit count facade is absurd.
11:02:26 <danse-nr3> that's because the trend is for free software development to become a star system
11:02:46 <dminuoso_> int-e: Oh I dont know that, aeson adds 46MiB of ELF symbols to my binary....
11:02:52 <dminuoso_> :-)
11:03:05 <int-e> that you can strip?
11:03:19 <dminuoso_> If you remember to split sections, and are on Linux, and have luck..
11:03:26 <int-e> (also emacs is a lightweight editor. 20 years ago it wasn't.)
11:03:48 <Rembane> danse-nr3: A star system as in having many stars on GitHub?
11:04:14 <danse-nr3> that is a clue about its design, yes
11:04:15 <danse-nr3> which entails unfair resources distribution... something i think i found referred as the "Madonna effect", although i cannot find it on the web anymore. Basically madonna makes a lot of money, while most other singers starve
11:04:20 <int-e> Anyway, my main point is that you need a reference for such claims, and here there is no obvious one. So it's just a fluffy marketing term.
11:04:27 <int-e> "lightweight" that is
11:10:44 juri_ joins (~juri@79.140.115.70)
11:12:24 leungbk parts (~user@2603-8000-1201-2dd2-d9b7-e17d-8038-dc13.res6.spectrum.com) (ERC 5.6-git (IRC client for GNU Emacs 30.0.50))
11:16:29 leungbk joins (~user@2603-8000-1201-2dd2-d9b7-e17d-8038-dc13.res6.spectrum.com)
11:19:27 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 268 seconds)
11:20:45 juri_ joins (~juri@79.140.115.70)
11:24:55 waldo joins (~waldo@user/waldo)
11:27:18 × troydm quits (~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
11:27:57 troydm joins (~troydm@user/troydm)
11:29:52 × CiaoSen quits (~Jura@2a05:5800:2b7:6a00:ca4b:d6ff:fec1:99da) (Ping timeout: 255 seconds)
11:30:12 <dminuoso_> int-e: Oh, everything is just fluffy marketing terms. :-P
11:30:31 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
11:30:55 <danse-nr3> yeah and they can be useful to state intended design
11:31:25 <dminuoso_> Though if megaparsec being industrial strength means I can run it on embedded controllers in a factory, that wouuld be funny
11:31:26 chexum joins (~quassel@gateway/tor-sasl/chexum)
11:32:41 <danse-nr3> it just means "serious enough for business/enterprise/buzzword"
11:36:13 × trev quits (~trev@user/trev) (Quit: trev)
11:36:17 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 256 seconds)
11:36:44 trev joins (~trev@user/trev)
11:38:04 × alp__ quits (~alp@2001:861:e3d6:8f80:597b:b8e2:b36e:d095) (Ping timeout: 246 seconds)
11:38:24 <albet70> why Map can not concat?
11:38:44 <danse-nr3> %t :i Map
11:38:51 <danse-nr3> huh
11:38:55 <danse-nr3> % :i Map
11:38:55 <yahb2> <interactive>:1:1: error: Not in scope: ‘Map’
11:38:56 <albet70> fromList [(1,2)] <> fromList [(1,3)]
11:39:24 <danse-nr3> % import Data.Map
11:39:24 <yahb2> <no output>
11:39:27 <danse-nr3> % :i Map
11:39:27 <yahb2> type role Map nominal representational ; type Map :: * -> * -> * ; data Map k a ; = Data.Map.Internal.Bin {-# UNPACK #-}Data.Map.Internal.Size ; !k ; ...
11:39:29 × waldo quits (~waldo@user/waldo) (Ping timeout: 268 seconds)
11:40:04 <danse-nr3> % :t concat
11:40:04 <yahb2> concat :: Foldable t => t [a] -> [a]
11:40:15 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:40:33 <dminuoso_> What would concat even do for a map?
11:40:34 <danse-nr3> is Map Foldable albet70?
11:40:35 waldo joins (~waldo@user/waldo)
11:41:03 <albet70> I don't know
11:41:04 <sshine> dminuoso_, megaparsec is only applicable for some types of welding.
11:41:07 <dminuoso_> Or maybe I misunderstand. Do you expect `concat :: Map (Map k v) -> Map k v`?
11:41:27 <albet70> I mean <>
11:41:37 <danse-nr3> % :t (<>)
11:41:37 <yahb2> (<>) :: Semigroup a => a -> a -> a
11:41:43 <danse-nr3> is Map Semigroup?
11:41:45 <dminuoso_> sshine: : Does that mean megaparsec needs a computer with 3 phase 230V power connection?
11:41:49 <albet70> how to you pronounce <>?
11:41:53 <albet70> ++
11:41:56 alp__ joins (~alp@2001:861:e3d6:8f80:4149:1636:de08:3e29)
11:41:58 <dminuoso_> albet70: mconcat
11:42:32 <sshine> it's not mappend?
11:42:34 <albet70> can Map do mconcat?
11:42:35 <sshine> :t mappend
11:42:36 <lambdabot> Monoid a => a -> a -> a
11:42:58 <dminuoso_> albet70: check out merge :: Ord k => SimpleWhenMissing k a c -> SimpleWhenMissing k b c -> SimpleWhenMatched k a b c -> Map k a -> Map k b -> Map k c
11:43:35 <albet70> what data is like dict in python?
11:43:36 <dminuoso_> albet70: it needs to be a bit more complicated because there's no clear universal strategy by which to merge two maps that would satisfies everyones expectations.
11:43:47 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 264 seconds)
11:45:52 <albet70> wait a sec, tuple list like [(1,2)] can concat, but Map can not?
11:46:25 <danse-nr3> what is unclear about what dminuoso_ just wrote?
11:47:07 <albet70> Map is a monad?
11:47:27 <danse-nr3> use `:i Map` in ghci to find out
11:48:02 juri_ joins (~juri@implicitcad.org)
11:52:43 <sshine> albet70, Data.HashMap is kind of like Python's dict.
11:53:16 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 255 seconds)
11:54:55 <__monty__> <> is mappend, yeah, not mconcat. Don't think the latter has an operator form?
11:55:36 <sshine> a <(° °)︵> b
11:56:01 <__monty__> I like it, let's put it in the Prelude.
11:56:36 <sshine> {-# LANGUAGE KawaiiOperators #-}
11:58:18 × dhil quits (~dhil@2001:8e0:2014:3100:cf69:c04f:eff8:3899) (Ping timeout: 268 seconds)
12:00:08 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
12:00:28 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
12:01:17 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds)
12:04:13 <dminuoso_> :t mconcat
12:04:14 <lambdabot> Monoid a => [a] -> a
12:04:25 <dminuoso_> __monty__: The number of arguments would be a one reason why there is no operator form.
12:04:39 <dminuoso_> (Sadly? Luckily?) we dont have the freedom of idris operators.
12:05:27 <__monty__> You're right, unary minus is already enough of a thorn. Where's my (- x) operator slice?!
12:05:32 __monty__ shakes his fist
12:12:26 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 245 seconds)
12:23:04 juri_ joins (~juri@implicitcad.org)
12:24:16 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
12:24:35 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
12:26:58 xff0x joins (~xff0x@2405:6580:b080:900:bdad:1ce:360:7acb)
12:27:54 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 268 seconds)
12:28:04 juri_ joins (~juri@79.140.115.70)
12:34:13 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 256 seconds)
12:35:08 araujo joins (~araujo@45.146.54.162)
12:35:36 juri_ joins (~juri@implicitcad.org)
12:36:21 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
12:39:46 × danse-nr3 quits (~danse@151.37.181.227) (Ping timeout: 276 seconds)
12:42:19 × acidjnk quits (~acidjnk@p200300d6e72b9322007c3ef187da4880.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
12:42:42 acidjnk joins (~acidjnk@p200300d6e72b9322007c3ef187da4880.dip0.t-ipconnect.de)
12:44:54 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 252 seconds)
12:45:22 dobblego joins (~dibblego@haskell/developer/dibblego)
12:45:23 ChaiTRex joins (~ChaiTRex@user/chaitrex)
12:49:31 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 276 seconds)
12:49:31 dobblego is now known as dibblego
12:54:18 <albet70> danse-nr3 , Map is not Monad? there's no instance of Monad
12:55:12 <albet70> sshine , Data.HashMap does not come with ghc?
12:55:55 juri_ joins (~juri@79.140.115.70)
12:56:43 <dminuoso_> albet70: Mmm, so containers is a boot library. That means a GHC installation will come with that package pre-installed.
12:57:00 × waldo quits (~waldo@user/waldo) (Ping timeout: 252 seconds)
12:57:03 <dminuoso_> However, HashMap is not from `containers` but from `unordered-containers`
12:57:16 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
12:57:52 waldo joins (~waldo@user/waldo)
13:02:07 × waldo quits (~waldo@user/waldo) (Ping timeout: 255 seconds)
13:02:42 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 260 seconds)
13:03:59 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
13:04:26 juri_ joins (~juri@implicitcad.org)
13:06:39 <albet70> Map [String] ByteString is ok?
13:09:31 × leungbk quits (~user@2603-8000-1201-2dd2-d9b7-e17d-8038-dc13.res6.spectrum.com) (Ping timeout: 245 seconds)
13:09:35 machinedgod joins (~machinedg@80.120.71.2)
13:13:19 × xff0x quits (~xff0x@2405:6580:b080:900:bdad:1ce:360:7acb) (Ping timeout: 256 seconds)
13:13:37 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 246 seconds)
13:15:20 xff0x joins (~xff0x@ai085147.d.east.v6connect.net)
13:16:13 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
13:16:26 danse-nr3 joins (~danse@151.19.237.249)
13:16:33 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
13:17:30 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
13:22:40 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 276 seconds)
13:24:44 juri_ joins (~juri@79.140.115.70)
13:25:32 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
13:26:45 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
13:27:26 SanchayanMaity_ joins (~Sanchayan@2401:4900:1cb9:30f1:e36f:ab71:5065:d69a)
13:27:41 × SanchayanMaity_ quits (~Sanchayan@2401:4900:1cb9:30f1:e36f:ab71:5065:d69a) (Client Quit)
13:28:54 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
13:29:44 juri_ joins (~juri@implicitcad.org)
13:31:31 × zer0bitz_ quits (~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
13:33:41 <kuribas> dminuoso_: do you mean overloading of operators in idris?
13:33:59 <dminuoso_> kuribas: Sorry I actually meant Agda.
13:34:08 <kuribas> right
13:34:45 juri__ joins (~juri@79.140.115.70)
13:34:51 <dminuoso_> Its perhaps the coolest trick that `if_then_else_` is not a builtin magic syntactic construct, but a user definable function.
13:37:11 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 264 seconds)
13:38:19 × juri__ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
13:40:39 waldo joins (~waldo@user/waldo)
13:43:28 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:43:35 igemnace joins (~ian@user/igemnace)
13:46:23 <albet70> is Chan better than MVar? I have two thread share one variable, one is read-only, one is write-only, which should I use? since there're lots of IO at the same time, which should I use?
13:46:54 <dminuoso_> Is a screwdriver better than a hammer?
13:47:01 zer0bitz joins (~zer0bitz@user/zer0bitz)
13:47:02 <dminuoso_> At some tasks certainly.
13:49:45 juri_ joins (~juri@79.140.115.70)
13:49:45 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
13:50:44 <albet70> is MVar efficient? takeMVar and putMVar is enough when lots of IO at the same time?
13:51:23 <dminuoso_> Profile your code and tell for yourself if its efficient enough.
13:54:45 juri_ joins (~juri@implicitcad.org)
13:56:01 <albet70> let c = aMap ! k; let a = g c; let b f c; is better than let a = g (aMap ! k); let b = f (aMap ! k); ? more efficient?
13:59:46 juri__ joins (~juri@79.140.115.70)
13:59:47 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 256 seconds)
14:05:35 m1dnight joins (~christoph@78-22-2-15.access.telenet.be)
14:05:53 × juri__ quits (~juri@79.140.115.70) (Ping timeout: 256 seconds)
14:05:57 oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
14:07:40 juri_ joins (~juri@implicitcad.org)
14:11:01 × fed_kaczynski quits (~fed_kaczy@2001:19f0:8001:199:69:420:420:69) (Remote host closed the connection)
14:11:50 × alp__ quits (~alp@2001:861:e3d6:8f80:4149:1636:de08:3e29) (Ping timeout: 260 seconds)
14:12:06 fed_kaczynski joins (~fed_kaczy@149.248.33.124)
14:17:13 × juri_ quits (~juri@implicitcad.org) (Ping timeout: 256 seconds)
14:18:29 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
14:19:40 shriekingnoise joins (~shrieking@186.137.175.87)
14:21:45 <albet70> https://hackage.haskell.org/package/containers-0.7/docs/Data-Map-Strict.html#v:-60--62-
14:21:57 <albet70> Map do have mappend, but why it's not like list?
14:22:39 <albet70> Semigroup have sconcat function
14:23:19 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
14:24:40 <danse-nr3> % :t sconcat
14:24:40 <yahb2> <interactive>:1:1: error: ; • Variable not in scope: sconcat ; • Perhaps you meant one of these: ; ‘mconcat’ (imported from Prelude), ‘concat’ (imported from Prelude)
14:24:59 <danse-nr3> % :t mappend
14:24:59 <yahb2> mappend :: Monoid a => a -> a -> a
14:26:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:26:22 <danse-nr3> not sure i understand the "why it is not like list" question. Every instance is a different specialisation, following rules
14:26:27 <albet70> semigroup need mappend, monoid need mempty and mappend
14:27:14 <dminuoso_> albet70: For the same reason that an airplane moves differently from cars. Different things behave differently. Expecting (Map k) to behave like [] is like expecting a Car to behave like an Airplane.
14:27:49 <danse-nr3> yet they do behave the same, for what the class definition is concerned
14:27:58 juri_ joins (~juri@79.140.115.70)
14:30:38 <kuribas> I am doing some meta programming in Python using type annotations, but man, meta-programming in haskell or idris is so much easier.
14:31:05 <kuribas> People who say Python is easy only know superfical python IMO.
14:31:31 <kuribas> I think Python is easy because it just pushes complexity under the rug.
14:31:59 × fed_kaczynski quits (~fed_kaczy@149.248.33.124) (Remote host closed the connection)
14:32:12 <kuribas> haskell and idris are difficult because they make you deal with it right away.
14:33:04 fed_kaczynski joins (~fed_kaczy@149.248.33.124)
14:33:18 <danse-nr3> nah, python does a good job at avoiding unnecessary complexity, but is still object-oriented. Therefore people used to object-oriented dumbness find it easier than changing paradigm
14:33:31 <[exa]> danse-nr3: did you read "The Zen of Python" ?
14:33:43 <kuribas> danse-nr3: I am talking about necessary complexity.
14:33:57 <[exa]> danse-nr3: (you can show it by `import this` in any python version afaik)
14:33:57 <danse-nr3> huh i think so, long time ago [exa]
14:34:18 <kuribas> But IMO Python has a lot of unnecessary complexity. Just look at pydantic for validation.
14:35:14 <[exa]> danse-nr3: it's got this "explicit is better than implicit", which totally went up in smoke
14:35:41 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
14:35:45 <[exa]> that alone is the biggest problem of python, people assume implicit-ness and hiding of complexity is OK
14:35:54 <danse-nr3> *shrug*
14:35:56 <[exa]> (instead of taming the complexity down using proper tools)
14:36:09 juri_ joins (~juri@79.140.115.70)
14:36:14 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:36:42 <danse-nr3> go to java or c# or whatever you like then
14:38:27 <[exa]> ah wait might have mishighlighted.. kuribas ^^ :D
14:38:38 <albet70> what cabal take the package? I saw someone fix a patch on github, but the cabal still use the old package
14:38:54 <albet70> where
14:39:01 <[exa]> albet70: from hackage
14:39:11 × fed_kaczynski quits (~fed_kaczy@149.248.33.124) (Remote host closed the connection)
14:39:18 <[exa]> albet70: https://hackage.haskell.org/
14:39:45 <[exa]> albet70: but you can clone the package from github, put the path to it into your `cabal.project` config, and play with the fixed version from github
14:40:03 <albet70> and do hacakge take from github? if the source is from github? and how long it will retrieve?
14:40:19 fed_kaczynski joins (~fed_kaczy@149.248.33.124)
14:40:26 <[exa]> albet70: someone needs to manually versionbump and push it there
14:40:31 <[exa]> usually the maintainer
14:41:18 <[exa]> which package is it? (just curious)
14:41:28 × juri_ quits (~juri@79.140.115.70) (Read error: Connection reset by peer)
14:41:53 juri_ joins (~juri@79.140.115.70)
14:41:56 <albet70> [exa] , scotty-tls
14:42:42 <[exa]> ok that didn't get uploaded for quite some time
14:43:58 <albet70> there's a patch for scotty-tls in 2020, since warps-tls removed certFile and keyFile, scotty-tls is patched on 2020, but cabal doesn't install the patched-version
14:44:35 <danse-nr3> see the method [exa] mentioned above about installing your local checkout
14:45:05 <dmj`> albet70: I merged it
14:45:26 <[exa]> ah here we go. :]
14:45:33 <danse-nr3> v
14:45:40 <albet70> today I fixed it again, and suddently I found someone fixed it on 2020...
14:46:51 <albet70> but cabal still install the un-patched version...
14:47:00 × waldo quits (~waldo@user/waldo) (Ping timeout: 252 seconds)
14:48:54 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
14:52:22 × juri_ quits (~juri@79.140.115.70) (Ping timeout: 276 seconds)
14:53:32 juri_ joins (~juri@implicitcad.org)
14:54:34 edr joins (~edr@user/edr)
14:58:52 × danse-nr3 quits (~danse@151.19.237.249) (Ping timeout: 276 seconds)
15:01:15 mmhat joins (~mmh@p200300f1c702cdc0ee086bfffe095315.dip0.t-ipconnect.de)
15:01:34 × mmhat quits (~mmh@p200300f1c702cdc0ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
15:02:06 danse-nr3 joins (~danse@151.19.237.249)
15:15:37 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
15:15:57 dhil joins (~dhil@2001:8e0:2014:3100:6060:e600:ca11:7f10)
15:21:10 × chele quits (~chele@user/chele) (Quit: Leaving)
15:23:57 × fed_kaczynski quits (~fed_kaczy@149.248.33.124) (Remote host closed the connection)
15:24:31 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
15:25:04 fed_kaczynski joins (~fed_kaczy@149.248.33.124)
15:27:46 × rosco quits (~rosco@175.136.152.56) (Quit: Lost terminal)
15:29:37 waldo joins (~waldo@user/waldo)
15:31:33 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
15:37:04 × fed_kaczynski quits (~fed_kaczy@149.248.33.124) (Remote host closed the connection)
15:38:06 fed_kaczynski joins (~fed_kaczy@149.248.33.124)
15:39:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:47:58 × fed_kaczynski quits (~fed_kaczy@149.248.33.124) (Remote host closed the connection)
15:49:04 fed_kaczynski joins (~fed_kaczy@2001:19f0:8001:199:69:420:420:69)
15:59:19 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:03:32 ft joins (~ft@p4fc2ae2b.dip0.t-ipconnect.de)
16:09:37 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:11:20 <carbolymer> is there a maybe wrapper `Biggest a` for `Ord a` things?
16:12:11 <c_wraith> There's Data.Semigroup.Max
16:12:31 × waldo quits (~waldo@user/waldo) (Ping timeout: 260 seconds)
16:13:58 × fendor quits (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
16:14:47 <carbolymer> `Max (Maybe a)` should be what I need, thanks c_wraith
16:22:09 ec joins (~ec@gateway/tor-sasl/ec)
16:22:39 fed_kaczynski parts (~fed_kaczy@2001:19f0:8001:199:69:420:420:69) ()
16:26:05 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
16:27:13 justsomeguy joins (~justsomeg@user/justsomeguy)
16:28:04 azimut joins (~azimut@gateway/tor-sasl/azimut)
16:30:42 × ridcully_ quits (~ridcully@p57b52ac5.dip0.t-ipconnect.de) (Quit: WeeChat 4.1.1)
16:30:59 ridcully joins (~ridcully@p57b52ac5.dip0.t-ipconnect.de)
16:34:06 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 260 seconds)
16:35:46 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
16:37:34 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
16:45:40 × danse-nr3 quits (~danse@151.19.237.249) (Ping timeout: 268 seconds)
16:46:04 <c_wraith> carbolymer: you might prefer `Maybe (Max a)`. I think it has the better Monoid instance.
16:46:05 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e) (Remote host closed the connection)
16:46:19 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e)
16:50:58 danza joins (~danza@151.19.237.249)
16:51:53 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:53:54 × vpan quits (~vpan@mail.elitnet.lt) (Quit: Leaving.)
16:54:48 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 256 seconds)
16:55:07 × danza quits (~danza@151.19.237.249) (Read error: Connection reset by peer)
17:05:03 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
17:05:14 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
17:05:47 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer)
17:06:19 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
17:09:24 aruns joins (~aruns@user/aruns)
17:10:18 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e) (Remote host closed the connection)
17:11:05 danza joins (~danza@151.43.254.5)
17:15:26 alp__ joins (~alp@2001:861:e3d6:8f80:37b9:9885:3868:5ef0)
17:16:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e)
17:17:04 × euleritian quits (~euleritia@dynamic-089-204-137-128.89.204.137.pool.telefonica.de) (Read error: Connection reset by peer)
17:19:51 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:20:10 waldo joins (~waldo@user/waldo)
17:20:54 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
17:24:35 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
17:25:52 euleritian joins (~euleritia@dynamic-046-114-182-113.46.114.pool.telefonica.de)
17:28:35 × euleritian quits (~euleritia@dynamic-046-114-182-113.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
17:28:52 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:31:06 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e) (Read error: Connection reset by peer)
17:31:24 tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net)
17:32:30 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e)
17:33:05 × danza quits (~danza@151.43.254.5) (Ping timeout: 252 seconds)
17:35:53 Joao003 joins (~Joao003@190.108.99.230)
17:36:40 <ephemient> certainly `Min (Maybe a)` likely doesn't have the behavior you want
17:45:57 danza joins (~danza@151.43.235.13)
17:46:26 derpyxdhs joins (~Thunderbi@user/derpyxdhs)
17:47:39 × derpyxdhs quits (~Thunderbi@user/derpyxdhs) (Client Quit)
17:51:03 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
17:52:22 × machinedgod quits (~machinedg@80.120.71.2) (Ping timeout: 255 seconds)
17:53:52 Sgeo joins (~Sgeo@user/sgeo)
18:01:47 target_i joins (~target_i@217.175.14.39)
18:04:47 × waldo quits (~waldo@user/waldo) (Ping timeout: 264 seconds)
18:05:42 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
18:05:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
18:09:22 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
18:09:44 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
18:10:46 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
18:11:06 euleritian joins (~euleritia@dynamic-046-114-182-113.46.114.pool.telefonica.de)
18:11:19 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
18:11:27 <Joao003> Serious discussion: Do you chain functions like `putStrLn . show $ 1' or `putStrLn $ show $ 1'?
18:11:51 <monochrom> I use f . g
18:12:08 <monochrom> In fact, (f . g) x, screw $
18:12:28 <Joao003> Nah, no brackets looks prettier
18:12:40 <Joao003> I do f . g $ x
18:12:55 <monochrom> Unpopular opinion: Brackets look prettier.
18:13:44 <Joao003> But sometimes they get too much nesting
18:13:58 <monochrom> I don't always go "(f . g) x". I start with "f (g x)" and until I have like 4 functions instead of 2 I feel no need to split hair on this.
18:14:50 <Joao003> Instead of f x = g . h $ x I do f = g . h, the so called eta-reduction
18:15:05 <exarkun> by itself, `(f . g) x` and `f . g $ x` mean the same thing - but once you're in a bigger context, they don't necessarily
18:15:11 <Joao003> Yes
18:16:02 <Joao003> Brackets have max precedence while ($) has min precedence
18:16:03 Guest|21 joins (~Guest|21@105.172.160.39)
18:16:04 <exarkun> so I think eta reduction, $, and () are all fine sometimes (and use them all)
18:16:19 <Joao003> Yes
18:16:31 <exarkun> much to the annoyance of my learning-haskell-coworkers who wish there were exactly one way to do everything
18:16:58 <exarkun> (and sometimes one way to do two things, too)
18:17:13 <Joao003> Yesterday I learned: Some named functions (like `div`) actually have infix precedence and association
18:19:14 <exarkun> (foo `isPrefixOf` bar) much nicer than (isPrefixOf foo bar) for many people
18:19:21 <Joao003> yes
18:19:26 <Joao003> and it makes more sense
18:19:59 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
18:20:39 <Joao003> @check \f x -> (==) (f $ x) $ id f x
18:20:41 <lambdabot> +++ OK, passed 100 tests.
18:20:49 × Joao003 quits (~Joao003@190.108.99.230) (Quit: Bye!)
18:24:30 × Guest|21 quits (~Guest|21@105.172.160.39) (Quit: Connection closed)
18:24:57 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
18:34:50 waldo joins (~waldo@user/waldo)
18:34:59 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
18:41:20 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer)
18:41:35 <monochrom> One way to do two things isn't bad. It drives unified theories and abstractions.
18:41:54 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
18:41:56 <monochrom> But wanting that for mere syntax is superficial.
18:45:31 <monochrom> Perhaps it's human greed. I want to get paid. And yet if there is one single way to do everything, I no longer have any responsibility.
18:48:34 <EvanR> putStrLn (show 1)
18:48:39 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
18:48:50 <EvanR> (ignoring print 1 for the sake of argument)
18:49:45 <EvanR> in non throw away code I will sometimes factor out a . chain into its own function then apply it (or not) elsewhere
18:50:23 Yumemi_ is now known as Yumemi
18:51:54 <hc> What does wanting to get paid have to do with being greedy? I thought greedy was a property of the kleene star
18:52:44 <EvanR> your code wants to get paid, so use $ syntax
18:53:20 <idgaen> :D
18:53:56 <monochrom> You need to read the whole sentence. The conjunction of getting paid and bearing zero responsibility.
18:55:05 <monochrom> Compared to other people, programmers are surprisingly context-free.
18:56:08 <int-e> what are you talking about
18:56:41 <monochrom> haha
18:57:13 hc is even regular most of the time
18:58:04 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 276 seconds)
19:04:50 <EvanR> in f . g . h $ x, oop brain might read this as x dot h dot g dot f, i.e. do dot h first. But this is haskell. So it actually says f . (g . (h $ x)), and applying caveman understanding of laziness, the f . ( is evaluated first. I wonder if this could be exploited to get the same results as oop without changing the order xD
19:07:21 <monochrom> I think OOP people would be OK with "x & h & g & f" modulo s/&/./
19:07:39 <EvanR> yeah that's not a dot at all
19:07:55 <EvanR> period.
19:08:19 <monochrom> But hey both & and . are user-definable library functions. One can simply load an alternative prelude.
19:08:37 <d34df00d> I like my . to do string concatenation.
19:08:39 <d34df00d> PHP FTW
19:09:08 <exarkun> is there some good reason hlint tells me to use mapAndUnzipM when I use `unzip <$> mapM ...`? I see that mapAndUnzipM uses traverse, not mapM, and the implementation talks about fusion ... ?
19:09:14 <monochrom> But haha on the pun on "period".
19:10:17 <monochrom> Do you take "author of hlint likes it this way" as a reason? ("reason")
19:10:41 <monochrom> Because it is an open secret that that's the real reason.
19:10:49 <exarkun> It's a reason, yes, but not a good one :)
19:10:56 <tomsmeding> there's a variety of lints in hlint that are basically subjective style
19:10:57 <exarkun> I know a lot of hlints are like that.
19:11:09 <tomsmeding> (also a number of hints that have separate good reasons behind them)
19:11:19 <monochrom> It is just very confusing that 70% of his preference aligns with most of ours so it looks like rational rather than personal.
19:11:51 <exarkun> I rewrote my expression to be `unzip <$> traverse ...` instead and it stopped bugging me. `mapAndUnzipM` seems like an obscure combination of things, I don't feel like using it.
19:12:36 <monochrom> Related to how someone who consistently always lies is not untrustworthy (recall those crossroad sentinel logic puzzles). It is those who tell the truth 90% of the time and lie 10% of the time that are truly treacherous.
19:14:04 <exarkun> Is someone working on a version of hlint that is either 100% wrong or 100% right then? :)
19:14:22 <tomsmeding> you could write your own hints file
19:14:26 <exarkun> true
19:14:48 tomsmeding is not sure how much of hlint's hints are specified in a separate file and how much is hard-coded
19:15:08 <tomsmeding> I guess you can at least _disable_ any you don't like
19:15:18 <[exa]> someone experienced with haskell-gi (aka the gtk bindings) ? I'm getting: `gobject-2.0>=2.32, not found in the pkg-config database` error on cabal configure, but my `kg-config gobject-2.0 --modversion` clearly says 2.78.0 ... any good place to start looking at/fixing?
19:15:20 tomsmeding doesn't use hlint at all, it's one of the first things that gets disabled on a new machine with HLS
19:15:33 <monochrom> Warning: You wrote f x. Why not (do y <- f; pure y) x.
19:15:47 <tomsmeding> lol
19:16:08 <tomsmeding> [exa]: have you tried 'cabal configure --verbose'?
19:16:45 <tomsmeding> oh wait, pkg-config and cabal, that verbose output is going to be useless
19:16:57 <tomsmeding> can someone fix the cabal solver to call pkg-config lazily already
19:17:05 <tomsmeding> to hell with purity
19:17:20 <[exa]> what's the problem there
19:17:33 <tomsmeding> cabal first calls pkg-config --modversion with the entire database of packages (which takes, like, _seconds_)
19:17:43 <tomsmeding> then pkg-config errors because there are a few packages on the system with missing dependencies
19:17:47 <tomsmeding> so no output
19:17:59 <tomsmeding> so then cabal invokes pkg-config once for each package on the system
19:18:03 <tomsmeding> which takes some more seconds
19:18:08 <tomsmeding> and then it actually starts doing cabal stuff
19:18:12 tomsmeding is annoyed
19:19:37 <monochrom> I am sure the following is a joke but it sounds like if you just make a PR that merely adds an "unsafeInterleaveIO" somewhere, it will fix this issue. >:)
19:19:53 <tomsmeding> [exa]: perhaps the cabal --verbose output does show the exact pkg-config invocation; something like 'pkg-config --modversion "gobject-2.0>=2.32"' is not valid pkg-config syntax but I'd see cabal doing that
19:20:15 <tomsmeding> monochrom: people have suggested that, but cabal maintainers aren't happy about introducing more impurity into the solver
19:20:28 <tomsmeding> which, like, I get the point
19:20:30 <[exa]> omigoood
19:20:31 <tomsmeding> but ._.
19:20:55 <[exa]> can we pls apply some minor pythons here
19:20:58 <[exa]> and just ignore the error
19:21:06 <tomsmeding> what's happening
19:21:07 <tomsmeding> ?
19:21:21 <tomsmeding> oh, pkg-config not printing anything if an error happens?
19:21:30 <[exa]> yeah, I strac'd instead
19:21:43 <tomsmeding> I mean, the point of invoking pkg-config is that you want all the packages that you ask for
19:21:52 <tomsmeding> if some of them are broken, the idea is kind of that the call fails
19:22:05 <tomsmeding> it's cabal that is weird in asking for ALL packages before it knows what it actually needs
19:22:36 <[exa]> ok well at least it told me which .pc files to nuke :D
19:22:51 <tomsmeding> be careful, they might belong to system packages
19:22:52 <exarkun> why is it doing that? so that it can consult that single consistent (supposedly?) result ever after, instead of making repeated calls that might give different answers?
19:22:58 <tomsmeding> yes
19:23:34 <tomsmeding> but if you cache your unsafePerformIO pkg-config calls, you get the same consistency
19:23:36 <exarkun> does anyone think the output of a single pkg-config invocation for multiple packages is self-consistent? or is the hope just that the window for the race condition is much smaller that way
19:23:38 <tomsmeding> without the madness
19:23:46 <tomsmeding> ¯\_(ツ)_/¯
19:24:04 <tomsmeding> it's a good argument though
19:24:08 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
19:24:10 <tomsmeding> against the current madness, that is
19:24:52 × euleritian quits (~euleritia@dynamic-046-114-182-113.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
19:25:11 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
19:25:18 <[exa]> like, on some certain systems with hyperactive package management I guess I can kinda understand it
19:25:37 <[exa]> ok booom, there we go
19:25:39 <[exa]> thanks all!
19:25:52 <[exa]> the error was literally missing .pc dependency files
19:26:02 <[exa]> I should probably report this to distro
19:26:20 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
19:26:20 <tomsmeding> for gobject-2.0?
19:26:54 <[exa]> no, for something entirely unrelated
19:27:00 <[exa]> (xfce4ui-2)
19:27:00 <tomsmeding> that should not trip up cabal
19:27:13 <[exa]> yeah but it's a distro bug anyway
19:27:14 <tomsmeding> it makes the big call fail, but then cabal falls back to package-per-package calls
19:27:31 <tomsmeding> some of those failing is fine, cabal should not care about those and just consider those broken packages not existing
19:27:39 <tomsmeding> so removing unrelated .pc files should not fix your issue
19:27:49 <[exa]> it did
19:27:55 <[exa]> (same as installing the missing ones)
19:28:10 <tomsmeding> ... what cabal version is that? Did it do the package-by-package thing?
19:28:33 <tomsmeding> my complaint is that cabal's approach to pkg-config is horrendously slow, not that it's incorrect
19:28:33 <[exa]> btw the big pkgconfig call didn't fail (that works), just some of the smaller ones did
19:29:02 <[exa]> cabal 3.8.1 btw
19:29:07 <tomsmeding> weird?
19:29:19 <tomsmeding> I have a permanently broken pkg-config database because arrch
19:29:26 tomsmeding is going to leave that typo in
19:29:33 <tomsmeding> distro policy
19:29:38 <tomsmeding> cabal works fine for me, it's just slow
19:30:54 <tomsmeding> exarkun: https://github.com/haskell/cabal/issues/8930#issuecomment-1744798180 and the message by andreabedini two down
19:33:16 <exarkun> also really tempting to think about how expensive it would be to discover and parse all of the .pc files natively with haskell instead of calling pkg-config at all ... probably extremely cheap at runtime, and maybe periodically very expensive when you discover some bizarre quick of pkg-config that you forgot to support on some obscure platform
19:33:26 <exarkun> s/quick/quirk/
19:34:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e) (Remote host closed the connection)
19:34:56 <tomsmeding> cheap at runtime?
19:35:04 <tomsmeding> I have 1525 .pc files
19:35:19 <tomsmeding> pkg-config only takes a few seconds because this is an nvme drive
19:35:53 <exarkun> I barely need three hands to count to 1525
19:36:15 <monochrom> I have a feeling we are on the verge of a breakthrough that reinvents autoconf.
19:36:22 <exarkun> :)
19:38:00 <[exa]> c'mon no one is going to repeat m4 as EDSL, right [padmeface.gif]
19:38:01 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
19:38:29 <tomsmeding> dnl no
19:40:37 Square2 joins (~Square4@user/square)
19:44:24 <monochrom> Haha I see why 3 hands for 1525. OTOH (pun!) it reminds me of an exercise in CLRS about randomized programming.
19:45:42 tomsmeding does not get the joke and is sad
19:45:48 <monochrom> Fix an increase sequence of naturals but it must start with 0, e.g., A = [0, 2, 4, 15, 100, ...]
19:46:30 <monochrom> OK 2 hands is only 10 bits, not enough for 1500ish. 3 hands is enough (and more).
19:46:39 <exarkun> not _so_ funny :)
19:46:56 <monochrom> And my pun? OTOHand...
19:47:53 <monochrom> Continuing... Have a mutable variable initialized to 0.
19:49:22 <monochrom> Have this procedure "increment": With probability 1/(A[current val + 1] - A[current val]), increase the variable by 1. (No change in the other case.)
19:49:49 qqq joins (~qqq@92.43.167.61)
19:49:54 <monochrom> Theorem: After calling increment n times, E(A[final val]) = n.
19:50:29 <tomsmeding> % let factor 1 = [] ; factor n = let d = head [k | k <- [2..n], n `mod` k == 0] in d : factor (n `div` d) in factor 1525
19:50:29 <yahb2> [5,5,61]
19:50:45 <monochrom> So the variables uses only a few bits to count up to a huge number but it's a probabilistic estimation.
19:53:33 ddellacosta joins (~ddellacos@ool-44c73d16.dyn.optonline.net)
19:53:41 Joao003 joins (~Joao003@190.108.99.230)
19:53:42 Joao003_ joins (~Joao003@190.108.99.230)
19:54:56 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e)
19:56:35 qeef joins (~qeef@138-169-143-94.cust.centrio.cz)
19:58:15 × Joao003_ quits (~Joao003@190.108.99.230) (Client Quit)
20:01:49 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
20:02:38 gugu256 joins (~gugu256@89.207.171.143)
20:05:28 × Square2 quits (~Square4@user/square) (Ping timeout: 268 seconds)
20:05:37 × qeef quits (~qeef@138-169-143-94.cust.centrio.cz) (Quit: Lost terminal)
20:07:12 Square joins (~Square@user/square)
20:07:15 × igemnace quits (~ian@user/igemnace) (Remote host closed the connection)
20:09:03 gugu_ joins (~gugu256@89.207.171.143)
20:10:20 × gugu_ quits (~gugu256@89.207.171.143) (Remote host closed the connection)
20:10:31 × gugu256 quits (~gugu256@89.207.171.143) (Ping timeout: 255 seconds)
20:10:46 gugu_ joins (~gugu256@89.207.171.143)
20:12:03 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
20:12:20 × gugu_ quits (~gugu256@89.207.171.143) (Remote host closed the connection)
20:12:45 gugu_ joins (~gugu256@89.207.171.143)
20:24:40 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e) (Remote host closed the connection)
20:26:19 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
20:26:31 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
20:28:40 leungbk joins (~user@142-129-149-172.res.spectrum.com)
20:28:56 gugu256 joins (~gugu256@89.207.171.143)
20:29:26 × gugu256 quits (~gugu256@89.207.171.143) (Client Quit)
20:30:44 × gugu_ quits (~gugu256@89.207.171.143) (Ping timeout: 252 seconds)
20:30:46 × danza quits (~danza@151.43.235.13) (Ping timeout: 246 seconds)
20:30:52 × hgolden_ quits (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection)
20:32:28 hgolden joins (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
20:42:29 walkthru1 joins (~walkthru_@p200300d70f18b40099acd31139b62dab.dip0.t-ipconnect.de)
20:46:39 × johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
20:47:30 × troydm quits (~troydm@user/troydm) (Ping timeout: 260 seconds)
20:48:11 johnw joins (~johnw@69.62.242.138)
20:55:48 × hgolden quits (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection)
20:57:14 hgolden joins (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
20:59:24 rawles joins (sid630849@user/rawles)
20:59:56 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cc52:bab0:d69e:7e9e)
21:02:19 × walkthru1 quits (~walkthru_@p200300d70f18b40099acd31139b62dab.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:06:07 × leungbk quits (~user@142-129-149-172.res.spectrum.com) (Ping timeout: 276 seconds)
21:10:11 × vulpine quits (xfnw@tilde.team) (Quit: Connection reset by purr)
21:10:19 × waldo quits (~waldo@user/waldo) (Ping timeout: 256 seconds)
21:13:35 leungbk joins (~user@142-129-149-172.res.spectrum.com)
21:19:21 vulpine joins (xfnw@tilde.team)
21:20:35 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Quit: Moving house)
21:25:03 × leungbk quits (~user@142-129-149-172.res.spectrum.com) (Ping timeout: 256 seconds)
21:30:05 × dhil quits (~dhil@2001:8e0:2014:3100:6060:e600:ca11:7f10) (Quit: Leaving)
21:31:22 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
21:31:41 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
21:32:43 azimut joins (~azimut@gateway/tor-sasl/azimut)
21:33:26 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
21:41:46 × rawles quits (sid630849@user/rawles) (Quit: Updating details, brb)
21:41:56 rawles joins (sid630849@user/rawles)
21:49:06 × ystael quits (~ystael@user/ystael) (Ping timeout: 245 seconds)
21:51:43 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
21:52:02 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
21:55:50 × thegeekinside quits (~thegeekin@189.217.90.224) (Remote host closed the connection)
22:08:55 × trev quits (~trev@user/trev) (Quit: trev)
22:13:56 machinedgod joins (~machinedg@crnet-01-022.ikbnet.co.at)
22:21:04 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
22:21:29 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
22:21:43 × alp__ quits (~alp@2001:861:e3d6:8f80:37b9:9885:3868:5ef0) (Ping timeout: 256 seconds)
22:25:35 × Joao003 quits (~Joao003@190.108.99.230) (Quit: Bye!)
22:25:54 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
22:26:15 × dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 252 seconds)
22:26:22 × off^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 268 seconds)
22:26:23 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
22:29:11 dsrt^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
22:29:12 off^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
22:31:21 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:35:00 × puke quits (~puke@user/puke) (Quit: puke)
22:35:22 × xdminsy quits (~xdminsy@117.147.70.160) (Ping timeout: 256 seconds)
22:44:29 puke joins (~puke@user/puke)
22:46:19 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:50:07 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
22:55:43 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
22:55:47 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
22:56:06 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
23:05:59 × machinedgod quits (~machinedg@crnet-01-022.ikbnet.co.at) (Ping timeout: 264 seconds)
23:09:14 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 268 seconds)
23:10:28 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
23:11:06 × michalz quits (~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in)
23:13:30 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
23:15:06 alexherbo2 joins (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net)
23:15:22 motherfsck joins (~motherfsc@user/motherfsck)
23:19:52 × target_i quits (~target_i@217.175.14.39) (Quit: leaving)
23:24:33 × aruns quits (~aruns@user/aruns) (Ping timeout: 252 seconds)
23:25:20 CiaoSen joins (~Jura@2a05:5800:2b7:6a00:ca4b:d6ff:fec1:99da)
23:41:40 × acidjnk quits (~acidjnk@p200300d6e72b9322007c3ef187da4880.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
23:47:16 Guest28 joins (~Guest28@c-73-194-110-178.hsd1.nj.comcast.net)
23:50:14 prasad joins (~prasad@2601:243:c001:3f07::54)
23:54:02 <prasad> Hi I am trying to parse a string "1 2 3 4 | 9 5 6 7" into ([Int], [Int]) tuple. But facing a issue unidentified character | found. If I remove the space between 4 & "|" and 9 and "|" it works here is my code. https://paste.tomsmeding.com/88Ndzrxh I guess the extra space is causing the issue but I am not able to figure out how to fix it
23:54:14 ystael joins (~ystael@user/ystael)
23:55:51 <monochrom> 1. Amend integerParser to slurp trailing spaces. Perhaps: (read <$> many1 digit) <* many space
23:56:07 × alexherbo2 quits (~alexherbo@2a02-8440-3240-7f7a-60e7-da22-4b0d-67d6.rev.sfr.net) (Remote host closed the connection)
23:56:08 <monochrom> 2. Likewise, Amend "char '|'" to slurp trailing spaces.
23:57:16 <monochrom> 0. Have a top-level parser that slurps leading spaces, e.g., many space *> listParser.
23:57:56 <monochrom> That is the general idomatic strategy for dealing with whitespace-insensitive syntax.
23:58:02 <dminuoso_> The general idiom is to have a `token :: Parser a -> Parser a` kind of parser that always consumes either leading or trailing whitespace.
23:59:13 <dminuoso_> And then define your token parsers (in the sense of a lexer/tokenizer) in terms of that combinator.

All times are in UTC on 2023-12-15.