2022/08/16

2022-08-16 00:00:00 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 00:04:33 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 00:06:18 +0200king_gs(~Thunderbi@187.201.216.244)
2022-08-16 00:07:25 +0200shailangsa(~shailangs@host86-185-98-81.range86-185.btcentralplus.com) (Remote host closed the connection)
2022-08-16 00:10:30 +0200alp_(~alp@user/alp) (Ping timeout: 256 seconds)
2022-08-16 00:10:52 +0200sseefried(~sseefried@211.30.155.255)
2022-08-16 00:10:56 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-16 00:13:23 +0200ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 248 seconds)
2022-08-16 00:13:45 +0200talismanick(~talismani@campus-009-007.ucdavis.edu)
2022-08-16 00:16:33 +0200sagax(~sagax_nb@user/sagax)
2022-08-16 00:16:36 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2022-08-16 00:17:18 +0200`2jt(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2022-08-16 00:17:35 +0200alp_(~alp@user/alp)
2022-08-16 00:17:38 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
2022-08-16 00:17:38 +0200califax(~califax@user/califx) (Ping timeout: 268 seconds)
2022-08-16 00:17:44 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
2022-08-16 00:18:21 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-16 00:19:33 +0200sseefried(~sseefried@211.30.155.255) (Quit: Client closed)
2022-08-16 00:21:46 +0200califax(~califax@user/califx)
2022-08-16 00:23:25 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-08-16 00:23:41 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
2022-08-16 00:25:05 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 00:27:15 +0200acidjnk(~acidjnk@p200300d6e7137a99b93ef1c596330c2d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-08-16 00:27:41 +0200Major_Biscuit(~MajorBisc@46-229-126.internethome.cytanet.com.cy) (Ping timeout: 252 seconds)
2022-08-16 00:29:23 +0200talismanick(~talismani@campus-009-007.ucdavis.edu) (Ping timeout: 248 seconds)
2022-08-16 00:31:56 +0200sseefried(~sseefried@211.30.155.255)
2022-08-16 00:32:07 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-08-16 00:33:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 00:33:39 +0200BusConscious(~martin@ip5f5acdbc.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2022-08-16 00:36:05 +0200king_gs1(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec)
2022-08-16 00:36:14 +0200king_gs(~Thunderbi@187.201.216.244) (Read error: Connection reset by peer)
2022-08-16 00:36:14 +0200king_gs1king_gs
2022-08-16 00:36:18 +0200sseefried(~sseefried@211.30.155.255) (Quit: Leaving)
2022-08-16 00:37:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-16 00:40:32 +0200alp_(~alp@user/alp) (Ping timeout: 256 seconds)
2022-08-16 00:45:31 +0200yvan-sraka(~yvan-srak@102.52.136.115) (Remote host closed the connection)
2022-08-16 00:48:35 +0200nate4(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2022-08-16 00:49:32 +0200shailangsa(~shailangs@host86-185-98-81.range86-185.btcentralplus.com)
2022-08-16 00:50:58 +0200gustik(~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) (Quit: Leaving)
2022-08-16 00:54:05 +0200yvan-sraka(~yvan-srak@102.52.136.115)
2022-08-16 00:58:05 +0200Sgeo(~Sgeo@user/sgeo)
2022-08-16 00:59:47 +0200king_gs(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Ping timeout: 248 seconds)
2022-08-16 01:00:35 +0200Tuplanolla(~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) (Quit: Leaving.)
2022-08-16 01:07:46 +0200yvan-sraka(~yvan-srak@102.52.136.115) (Remote host closed the connection)
2022-08-16 01:10:05 +0200alp_(~alp@user/alp)
2022-08-16 01:13:22 +0200ec(~ec@gateway/tor-sasl/ec)
2022-08-16 01:20:01 +0200jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2022-08-16 01:22:43 +0200vglfr(~vglfr@145.224.94.75) (Ping timeout: 248 seconds)
2022-08-16 01:23:06 +0200vglfr(~vglfr@145.224.94.75)
2022-08-16 01:39:11 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-08-16 01:39:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-16 01:47:16 +0200luffy(~chenqisu1@183.217.201.23)
2022-08-16 01:55:30 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-16 02:00:20 +0200fenafsezaman(~Me@185.103.90.177)
2022-08-16 02:03:16 +0200notzmv(~zmv@user/notzmv)
2022-08-16 02:07:10 +0200fenafsezaman(~Me@185.103.90.177) (K-Lined)
2022-08-16 02:09:03 +0200lagash(lagash@lagash.shelltalk.net) (Remote host closed the connection)
2022-08-16 02:09:18 +0200ph88(~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Quit: Leaving)
2022-08-16 02:10:26 +0200lagash(lagash@2605:6400:20:b4:9c76:1538:3398:ce71)
2022-08-16 02:15:16 +0200mmhat(~mmh@p200300f1c732d6d0ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6)
2022-08-16 02:17:30 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 3.6)
2022-08-16 02:18:03 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-08-16 02:18:43 +0200cthaeh^(~cthaeh@50.231.67.43) (Ping timeout: 248 seconds)
2022-08-16 02:23:14 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-08-16 02:23:14 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-08-16 02:23:15 +0200wroathe(~wroathe@user/wroathe)
2022-08-16 02:28:32 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-16 02:29:00 +0200kimjetwav(~user@2607:fea8:235e:b600:63f1:7c00:91d0:abf) (Remote host closed the connection)
2022-08-16 02:31:37 +0200nilradical(~nilradica@user/naso)
2022-08-16 02:34:04 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-08-16 02:35:35 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 256 seconds)
2022-08-16 02:41:02 +0200vysn(~vysn@user/vysn)
2022-08-16 02:41:48 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 02:48:29 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds)
2022-08-16 02:50:54 +0200 <qrpnxz> GHC thinks i want (Num (IO Int)) oh boy. This gonna suck to debug
2022-08-16 02:51:28 +0200 <Axman6> should be pretty simple if you have hls
2022-08-16 02:51:56 +0200 <qrpnxz> i do have hls, happily informs me that GHC thinks i want (Num (IO Int)) :/
2022-08-16 02:52:34 +0200 <Axman6> comment out the offending code and then check the types of all the involved expressions
2022-08-16 02:52:39 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-08-16 02:54:17 +0200 <qrpnxz> it's like a 30 line function :((( I have written like this `longFuncName = func where func = ....` it just underlines func, can't really remove that or i have to more a lot of code around
2022-08-16 02:54:59 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2022-08-16 02:55:24 +0200 <qrpnxz> s/more/move
2022-08-16 02:56:35 +0200xff0x_(~xff0x@2405:6580:b080:900:f183:2436:78f3:8665) (Ping timeout: 248 seconds)
2022-08-16 02:59:23 +0200talismanick(~talismani@campus-009-007.ucdavis.edu)
2022-08-16 02:59:46 +0200talismanickGuest5778
2022-08-16 03:00:06 +0200Guest5778(~talismani@campus-009-007.ucdavis.edu) (Client Quit)
2022-08-16 03:00:44 +0200 <dsal> That's the problem. I don't like long function names.
2022-08-16 03:03:30 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-08-16 03:04:06 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-08-16 03:06:29 +0200 <qrpnxz> i wish GHC considered that maybe i don't want to add IO actions and tell me where i'm trying to do such a thing
2022-08-16 03:06:53 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-08-16 03:07:23 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-08-16 03:07:45 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Client Quit)
2022-08-16 03:09:14 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-08-16 03:09:40 +0200 <yushyin> specify a type without IO and I am almost sure that GHC will complain then
2022-08-16 03:09:49 +0200jargon(~jargon@184.101.168.117)
2022-08-16 03:10:22 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-08-16 03:16:30 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-08-16 03:19:17 +0200Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.238)
2022-08-16 03:23:48 +0200 <qrpnxz> half hour and can't find the problem 😡
2022-08-16 03:25:36 +0200king_gs(~Thunderbi@187.201.216.244)
2022-08-16 03:26:22 +0200 <Axman6> if only there was a way to seek help from others...
2022-08-16 03:28:22 +0200 <qrpnxz> lol yeah if only... 😛 thanks for the offer, but i'll take this one
2022-08-16 03:38:32 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-08-16 03:41:16 +0200 <qrpnxz> if i don't use the function, no problem. No mention of the Num constraint anywhere. If i assign it to a hole that has absolutely no mention of Num, i get the error. ???? I'm gonna be so annoyned when i solve this.
2022-08-16 03:41:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
2022-08-16 03:44:37 +0200king_gs1(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec)
2022-08-16 03:44:38 +0200king_gs(~Thunderbi@187.201.216.244) (Read error: Connection reset by peer)
2022-08-16 03:44:38 +0200king_gs1king_gs
2022-08-16 03:47:12 +0200 <qrpnxz> Found it! ARGH! unbelievable. I was returning `1` where i needed `pure 1`. 😐🔫
2022-08-16 03:48:51 +0200chomwitt(~chomwitt@2a02:587:dc15:5e00:ece7:3fb3:7c32:eccf) (Ping timeout: 248 seconds)
2022-08-16 03:51:55 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2022-08-16 03:53:06 +0200nilradical(~nilradica@user/naso) ()
2022-08-16 03:54:34 +0200 <jackdk> `instance TypeError (Text "You probably didn't mean this) => Num (IO a) where...`
2022-08-16 03:58:03 +0200bgamari(~bgamari@64.223.226.174)
2022-08-16 03:58:09 +0200bgamari_(~bgamari@64.223.132.170) (Ping timeout: 252 seconds)
2022-08-16 04:03:24 +0200alp_(~alp@user/alp) (Ping timeout: 256 seconds)
2022-08-16 04:07:37 +0200 <qrpnxz> does IO have that? If IO does have that I should say that in my code it wasn't actually IO, it was a more complicated Monad. Also, i think HLS might have highlighted it, but because it `1` is a single tiny character i didn't see it. It definitely didn't say on my terminal output. idk how you get the relevant error to show up on the terminal.
2022-08-16 04:09:27 +0200jespada(~jespada@2803:9800:9842:8ca9:c034:74:da3:46b7) (Ping timeout: 268 seconds)
2022-08-16 04:10:31 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-08-16 04:10:31 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-08-16 04:10:31 +0200finn_elijaFinnElija
2022-08-16 04:11:28 +0200jespada(~jespada@2803:9800:9842:8ca9:697e:9a9e:7c3a:1937)
2022-08-16 04:19:00 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 04:20:03 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-08-16 04:20:19 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds)
2022-08-16 04:22:27 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
2022-08-16 04:24:45 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-16 04:26:29 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-16 04:26:43 +0200td_(~td@muedsl-82-207-238-255.citykom.de) (Ping timeout: 268 seconds)
2022-08-16 04:27:12 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 256 seconds)
2022-08-16 04:28:02 +0200td_(~td@muedsl-82-207-238-061.citykom.de)
2022-08-16 04:35:49 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-08-16 04:38:17 +0200nate4(~nate@98.45.169.16)
2022-08-16 04:38:22 +0200 <dsal> Declaring types generally solves that problem for me.
2022-08-16 04:38:31 +0200 <jackdk> It doesn't - I was speculating whether or not it was a good idea.
2022-08-16 04:38:32 +0200 <dsal> It narrows the amount of guessing that has to happen.
2022-08-16 04:39:29 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 04:47:53 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 04:48:00 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 04:58:20 +0200renzhi(~xp@2607:fa49:6500:b100::47a5)
2022-08-16 05:01:19 +0200jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
2022-08-16 05:03:28 +0200vysn(~vysn@user/vysn) (Ping timeout: 256 seconds)
2022-08-16 05:06:56 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 05:08:26 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 05:09:02 +0200king_gs(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Quit: king_gs)
2022-08-16 05:09:16 +0200king_gs(~Thunderbi@187.201.216.244)
2022-08-16 05:12:03 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 248 seconds)
2022-08-16 05:12:40 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-16 05:13:08 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 05:19:11 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds)
2022-08-16 05:19:39 +0200jmd_(~jmdaemon@user/jmdaemon)
2022-08-16 05:20:17 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
2022-08-16 05:21:36 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 256 seconds)
2022-08-16 05:21:39 +0200nate4(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2022-08-16 05:27:42 +0200nate4(~nate@98.45.169.16)
2022-08-16 05:28:58 +0200renzhi(~xp@2607:fa49:6500:b100::47a5) (Ping timeout: 256 seconds)
2022-08-16 05:30:01 +0200king_gs1(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec)
2022-08-16 05:31:15 +0200king_gs(~Thunderbi@187.201.216.244) (Ping timeout: 248 seconds)
2022-08-16 05:31:15 +0200king_gs1king_gs
2022-08-16 05:31:24 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2022-08-16 05:32:22 +0200Vajb(~Vajb@2001:999:780:268:c891:8e5a:371f:cf49) (Ping timeout: 256 seconds)
2022-08-16 05:32:56 +0200nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-08-16 05:33:08 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-08-16 05:37:07 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
2022-08-16 05:37:12 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 05:41:24 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-08-16 05:42:00 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-08-16 05:43:52 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-08-16 05:45:36 +0200 <Axman6> IIRC the Num instance for (Applicative f, Num a) => Num (f a) is pretty consistent, with (+) = liftA2 (+); negate = fmap negate etc.
2022-08-16 05:46:24 +0200 <Axman6> it definitely makes foldl easier to work with; ave = sum / genericLength
2022-08-16 05:48:34 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2022-08-16 05:49:21 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 268 seconds)
2022-08-16 05:49:24 +0200jinsun__(~jinsun@user/jinsun)
2022-08-16 05:49:24 +0200jinsun__jinsun
2022-08-16 05:52:04 +0200 <[Leary]> Unfortunately, the `subtract` isn't lawful. Nevertheless, it's available under Ap.
2022-08-16 05:52:28 +0200 <Axman6> how so?
2022-08-16 05:52:53 +0200 <[Leary]> > let a = Ap [1, 2] in a - a == 0
2022-08-16 05:52:55 +0200 <lambdabot> False
2022-08-16 05:52:59 +0200 <[Leary]> > let a = Ap [1, 2] in a - a
2022-08-16 05:53:01 +0200 <lambdabot> Ap {getAp = [0,-1,1,0]}
2022-08-16 05:53:19 +0200 <Axman6> ah interesting, makes sense
2022-08-16 05:56:12 +0200 <[Leary]> > let a = Ap [1, 2], b = Ap [3, 4], c = Ap [5, 6] in a * (b + c) == a * b + a * c
2022-08-16 05:56:14 +0200 <lambdabot> <hint>:1:18: error: parse error on input ‘,’
2022-08-16 05:56:23 +0200 <[Leary]> > let a = Ap [1, 2]; b = Ap [3, 4]; c = Ap [5, 6] in a * (b + c) == a * b + a * c
2022-08-16 05:56:25 +0200 <lambdabot> False
2022-08-16 05:56:28 +0200 <[Leary]> That one too.
2022-08-16 05:56:57 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
2022-08-16 06:01:04 +0200 <Axman6> ^H^H^H^H^H^H^H^H^H^H^H^H^H IIRC the Num instance for (Applicative f, Num a) => Num (f a) is highly problematic =)
2022-08-16 06:15:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-08-16 06:16:25 +0200Vajb(~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8)
2022-08-16 06:16:59 +0200king_gs(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Quit: king_gs)
2022-08-16 06:17:09 +0200king_gs1(~Thunderbi@187.201.216.244)
2022-08-16 06:19:27 +0200king_gs1king_gs
2022-08-16 06:20:10 +0200Zer000(~phil@64.137.132.26)
2022-08-16 06:23:25 +0200Me-me(~me-me@user/me-me) (Remote host closed the connection)
2022-08-16 06:37:37 +0200mbuf(~Shakthi@122.165.55.71)
2022-08-16 06:37:48 +0200etoast(~exaltedto@user/exaltedtoast) (Tschüss)
2022-08-16 06:38:26 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-16 06:39:51 +0200luffy(~chenqisu1@183.217.201.23) (Ping timeout: 252 seconds)
2022-08-16 06:43:22 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 06:48:35 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 248 seconds)
2022-08-16 06:55:17 +0200Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.238) (Quit: Leaving)
2022-08-16 06:57:37 +0200king_gs1(~Thunderbi@2806:103e:29:da7a:12b2:9fef:c8de:89e4)
2022-08-16 07:05:18 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2022-08-16 07:09:38 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 07:14:30 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-16 07:20:35 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 07:24:51 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 248 seconds)
2022-08-16 07:34:01 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-08-16 07:34:30 +0200kenran(~kenran@200116b82b147000cccd10d41cdedf15.dip.versatel-1u1.de)
2022-08-16 07:34:31 +0200kenran(~kenran@200116b82b147000cccd10d41cdedf15.dip.versatel-1u1.de) (Client Quit)
2022-08-16 07:36:31 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 07:41:00 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-08-16 07:50:29 +0200Midjak(~Midjak@82.66.147.146)
2022-08-16 07:59:20 +0200coot(~coot@213.134.176.158)
2022-08-16 08:00:15 +0200MajorBiscuit(~MajorBisc@c-001-001-040.client.tudelft.eduvpn.nl)
2022-08-16 08:05:40 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-08-16 08:10:52 +0200`2jt(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net)
2022-08-16 08:12:32 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 08:13:12 +0200Furor(~colere@about/linux/staff/sauvin)
2022-08-16 08:16:07 +0200Colere(~colere@about/linux/staff/sauvin) (Ping timeout: 268 seconds)
2022-08-16 08:17:01 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
2022-08-16 08:21:41 +0200 <tomsmeding> qrpnxz: HLS likely didn't highlight the 1, because the use of 1 itself _is valid_ -- as long as the surrounding context has a Num constraint on the type that you use 1 at. This is why you get an error on the top level only.
2022-08-16 08:26:11 +0200`2jt(~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 248 seconds)
2022-08-16 08:26:31 +0200mmhat(~mmh@p200300f1c732d60cee086bfffe095315.dip0.t-ipconnect.de)
2022-08-16 08:27:11 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-08-16 08:31:13 +0200nattiestnate(~nate@180.243.14.130)
2022-08-16 08:31:31 +0200nattiestnate(~nate@180.243.14.130) (Client Quit)
2022-08-16 08:36:59 +0200shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-08-16 08:37:11 +0200jonathanx(~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-08-16 08:37:26 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-16 08:44:45 +0200pagnol(~me@213-205-209-87.ftth.glasoperator.nl)
2022-08-16 08:45:12 +0200jonathanx(~jonathan@c-5eea764a-74736162.cust.telenor.se)
2022-08-16 08:46:07 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 08:46:13 +0200Pickchea(~private@user/pickchea)
2022-08-16 08:48:43 +0200 <[exa]> ski: uuuh wow thanks for the links, this is actually quite relevant
2022-08-16 08:49:58 +0200sandersndr
2022-08-16 08:50:43 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 248 seconds)
2022-08-16 08:51:15 +0200jonathanx(~jonathan@c-5eea764a-74736162.cust.telenor.se) (Ping timeout: 248 seconds)
2022-08-16 08:51:29 +0200waldo(~waldo@user/waldo)
2022-08-16 09:01:09 +0200Zer000(~phil@64.137.132.26) (Quit: Leaving)
2022-08-16 09:01:34 +0200nilradical(~nilradica@user/naso)
2022-08-16 09:02:14 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 09:02:19 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
2022-08-16 09:02:30 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:6041:d333:dc45:72df)
2022-08-16 09:02:33 +0200waldo(~waldo@user/waldo) (Quit: quit)
2022-08-16 09:06:43 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 248 seconds)
2022-08-16 09:11:05 +0200lottaquestions_(~nick@104.221.24.83)
2022-08-16 09:11:09 +0200lottaquestions_(~nick@104.221.24.83) (Read error: Connection reset by peer)
2022-08-16 09:11:32 +0200lottaquestions_(~nick@104.221.24.83)
2022-08-16 09:12:15 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-08-16 09:12:55 +0200lottaquestions(~nick@2607:fa49:503e:7100:276:d569:54ed:ceaf) (Ping timeout: 244 seconds)
2022-08-16 09:13:27 +0200coot(~coot@213.134.176.158) (Quit: coot)
2022-08-16 09:16:16 +0200lottaquestions_(~nick@104.221.24.83) (Client Quit)
2022-08-16 09:16:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-08-16 09:16:24 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer)
2022-08-16 09:16:42 +0200lottaquestions_(~nick@2607:fa49:503e:7100:6db8:6536:53f:14df)
2022-08-16 09:17:08 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-08-16 09:17:20 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 256 seconds)
2022-08-16 09:17:53 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-16 09:19:23 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-08-16 09:24:47 +0200king_gs(~Thunderbi@2806:103e:29:da7a:12b2:9fef:c8de:89e4) (Quit: king_gs)
2022-08-16 09:25:02 +0200king_gs(~Thunderbi@187.201.216.244)
2022-08-16 09:25:13 +0200king_gs(~Thunderbi@187.201.216.244) (Client Quit)
2022-08-16 09:25:53 +0200vysn(~vysn@user/vysn)
2022-08-16 09:30:45 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 09:31:37 +0200ddellacosta(~ddellacos@89.45.224.34)
2022-08-16 09:32:32 +0200coot(~coot@213.134.176.158)
2022-08-16 09:32:46 +0200BusConscious(~martin@ip5f5bdd28.dynamic.kabel-deutschland.de)
2022-08-16 09:32:54 +0200 <BusConscious> Module ‘Control.Monad.Trans.Except’ does not export ‘tryE’.
2022-08-16 09:32:57 +0200 <BusConscious> why?
2022-08-16 09:33:48 +0200 <c_wraith> from what version of what package?
2022-08-16 09:34:43 +0200 <BusConscious> base >=4.14.1.0
2022-08-16 09:34:44 +0200 <c_wraith> Oh, are you maybe importing Control.Monad.Except from mtl instead of Control.Monad.Trans.Except from transformers?
2022-08-16 09:34:53 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-08-16 09:35:04 +0200 <c_wraith> No version of base appears to have a module by that name
2022-08-16 09:35:14 +0200 <BusConscious> import Control.Monad.Trans.Except
2022-08-16 09:35:40 +0200 <BusConscious> so that should not be the issue
2022-08-16 09:36:05 +0200 <c_wraith> except you didn't mention what version of transformers. or even confirm that it's from transformers
2022-08-16 09:36:14 +0200jgeerds(~jgeerds@55d46bad.access.ecotel.net)
2022-08-16 09:36:27 +0200 <BusConscious> transformers ^>=0.5.6.2
2022-08-16 09:36:56 +0200 <c_wraith> that's not a version.
2022-08-16 09:37:07 +0200ddellacosta(~ddellacos@89.45.224.34) (Ping timeout: 248 seconds)
2022-08-16 09:37:15 +0200 <c_wraith> though... it does constrain transformers to only versions that don't have tryE
2022-08-16 09:37:25 +0200 <BusConscious> it does offer me throwE, catchE and except, but not the documented tryE
2022-08-16 09:37:25 +0200 <c_wraith> https://hackage.haskell.org/package/transformers-0.5.6.2/docs/Control-Monad-Trans-Except.html
2022-08-16 09:37:35 +0200 <c_wraith> look in the docs for the version you're using
2022-08-16 09:38:08 +0200 <BusConscious> ah sorry 0.6.0.5
2022-08-16 09:38:26 +0200 <BusConscious> *0.6.0.4
2022-08-16 09:38:36 +0200 <c_wraith> 6.0.4 isn't allowed by that version constraint.
2022-08-16 09:38:52 +0200 <c_wraith> You should look at what version is actually being used by your program
2022-08-16 09:38:58 +0200ddellacosta(~ddellacos@143.244.47.71)
2022-08-16 09:39:40 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-16 09:40:51 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds)
2022-08-16 09:42:07 +0200 <tomsmeding> how do you do that easily? Can one check that in an easier way than looking at dist-newstyle/cache/plan.json ?
2022-08-16 09:42:30 +0200 <c_wraith> uh. I was just looking at that, and it appears the only easy way at the moment is using cabal freeze
2022-08-16 09:42:43 +0200 <tomsmeding> ah right
2022-08-16 09:42:45 +0200 <c_wraith> Then deleting the cabal.project.freeze file, if you want
2022-08-16 09:42:45 +0200waldo(~waldo@user/waldo)
2022-08-16 09:42:54 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-08-16 09:43:10 +0200 <BusConscious> ah thanks guys. works with 0.6.0.6
2022-08-16 09:43:17 +0200 <BusConscious> *0.4 whatever
2022-08-16 09:44:01 +0200 <c_wraith> Yeah, whenever the question is along the lines of "why doesn't the documentation match what I can use?", my first suspicion is a version thing
2022-08-16 09:44:47 +0200 <BusConscious> I also had to throw out transformers-either, which I don
2022-08-16 09:45:02 +0200 <BusConscious> 't use anymore and conflicts with transformers >= 0.6
2022-08-16 09:45:25 +0200alp_(~alp@user/alp)
2022-08-16 09:46:18 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au)
2022-08-16 09:46:50 +0200acidjnk(~acidjnk@p200300d6e7137a99ecb826a5293fa5e0.dip0.t-ipconnect.de)
2022-08-16 09:49:16 +0200mc47(~mc47@xmonad/TheMC47)
2022-08-16 09:56:19 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-08-16 09:57:46 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-16 09:58:07 +0200cfricke(~cfricke@user/cfricke)
2022-08-16 10:07:48 +0200Milan(~Milan@46.245.74.243)
2022-08-16 10:08:14 +0200Milan(~Milan@46.245.74.243) (Client Quit)
2022-08-16 10:08:58 +0200fserucas(~fserucas@46.50.4.9)
2022-08-16 10:09:09 +0200fserucas(~fserucas@46.50.4.9) (Client Quit)
2022-08-16 10:09:24 +0200eod|fserucas(~eod|fseru@46.50.4.9)
2022-08-16 10:19:14 +0200nilradical(~nilradica@user/naso) ()
2022-08-16 10:21:07 +0200ubert(~Thunderbi@178.165.184.116.wireless.dyn.drei.com)
2022-08-16 10:23:27 +0200ccntrq(~Thunderbi@172.209.94.92.rev.sfr.net)
2022-08-16 10:25:30 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-08-16 10:25:31 +0200chele(~chele@user/chele)
2022-08-16 10:28:05 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-08-16 10:32:45 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-08-16 10:33:00 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-16 10:33:37 +0200CiaoSen(~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-08-16 10:38:24 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-16 10:41:31 +0200GoldsteinQ(~goldstein@goldstein.rs) (Leaving)
2022-08-16 10:41:33 +0200GoldsteinQ(~goldstein@goldstein.rs)
2022-08-16 10:43:26 +0200 <tomsmeding> it seems -Wunused-pattern-binds is over-eager in a template-haskell quote? https://paste.tomsmeding.com/d09W0uCZ
2022-08-16 10:44:04 +0200 <tomsmeding> funnily, the warning is still printed if the code is changed to `let ($(varP name)) = 3.0`, but the warning is gone if the code is changed to `let $(varP name) = 3.0`
2022-08-16 10:46:27 +0200 <tomsmeding> (reproduces on the brand-new ghc 9.4.1)
2022-08-16 10:46:37 +0200 <c_wraith> doesn't surprise me that there are issues with that combination. One odd thought: if you explicitly export thing, does anything change?
2022-08-16 10:47:46 +0200 <tomsmeding> c_wraith: nope -- though the warning that 'thing' is unused disappears
2022-08-16 10:48:01 +0200 <tomsmeding> (I ran into this in a situation where the surrounding function is very much used)
2022-08-16 10:48:05 +0200 <c_wraith> yeah, I was wondering if there was some transitive strangeness.
2022-08-16 10:48:12 +0200 <tomsmeding> yeah could've been, but no
2022-08-16 10:48:29 +0200 <tomsmeding> but the "funnily" note is really strange
2022-08-16 10:48:59 +0200 <tomsmeding> is this worth a ghc issue?
2022-08-16 10:49:17 +0200 <c_wraith> yeah, there's definitely something being handled incorrectly there
2022-08-16 10:49:47 +0200 <c_wraith> definitely include versions that do and don't trigger the warning. it makes it much more clear something is weird.
2022-08-16 10:50:04 +0200 <tomsmeding> yeah
2022-08-16 10:50:28 +0200 <tomsmeding> (perhaps I should try to reproduce on ghc master first...)
2022-08-16 10:50:54 +0200 <tomsmeding> config.status: error: cannot find input file: `docs/index.html.in'
2022-08-16 10:50:55 +0200 <tomsmeding> >.>
2022-08-16 10:51:09 +0200 <tomsmeding> ok it reproduces on 9.4.1, I'm going to bet it's still in master
2022-08-16 10:51:47 +0200 <c_wraith> ... man, Paths_ modules are weird with cabal. You auto-generate it. Why are you telling me I need to include it in other-modules? It's not part of the sdist!
2022-08-16 10:53:34 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 10:58:11 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 248 seconds)
2022-08-16 11:00:05 +0200 <BusConscious> So I want to check if a given file descriptor is open for output. Now I could call getFdStatus. But this gives my a FileStatus. I can open a file I have rw permissions as a user in read only mode and get a file descriptor, that is not open for output
2022-08-16 11:00:16 +0200 <tomsmeding> c_wraith: https://gitlab.haskell.org/ghc/ghc/-/issues/22057
2022-08-16 11:01:24 +0200 <BusConscious> Do I need to call fcntl via FFI again?
2022-08-16 11:01:25 +0200 <tomsmeding> BusConscious: what about System.IO.hIsWritable?
2022-08-16 11:01:31 +0200 <BusConscious> ah
2022-08-16 11:01:38 +0200 <BusConscious> good idea let me check
2022-08-16 11:01:42 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-16 11:01:59 +0200sympt(~sympt@user/sympt) (Ping timeout: 268 seconds)
2022-08-16 11:02:31 +0200 <BusConscious> mhm so I do need a handle for that.. but it's better than nothing I guess?
2022-08-16 11:03:15 +0200 <tomsmeding> BusConscious: how would you do it with fcntl
2022-08-16 11:03:27 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 11:04:17 +0200 <tomsmeding> BusConscious: ah, base:System.Posix.Internals.fdGetMode
2022-08-16 11:04:41 +0200 <tomsmeding> I found this by tracing what unix:System.Posix.IO.fdToHandle was doing
2022-08-16 11:05:32 +0200 <BusConscious> ah thank you very much. In C I would probably call fcntl with F_GETFL or something like that
2022-08-16 11:06:02 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2022-08-16 11:06:35 +0200 <tomsmeding> BusConscious: lol https://hackage.haskell.org/package/base-4.17.0.0/docs/src/System.Posix.Internals.html#fdGetMode
2022-08-16 11:06:40 +0200 <tomsmeding> that's precisely what that function is going
2022-08-16 11:06:41 +0200 <tomsmeding> *doing
2022-08-16 11:07:31 +0200 <tomsmeding> note that it apparently doesn't work on windows
2022-08-16 11:09:58 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-16 11:10:21 +0200 <BusConscious> we don't care about windows here
2022-08-16 11:10:29 +0200 <tomsmeding> :p
2022-08-16 11:12:00 +0200kuribas(~user@ptr-17d51eoyn5ldy9jvjfj.18120a2.ip6.access.telenet.be)
2022-08-16 11:14:00 +0200toms(~foobar@pogostick.net) (Remote host closed the connection)
2022-08-16 11:14:55 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds)
2022-08-16 11:23:00 +0200chexum_(~quassel@gateway/tor-sasl/chexum)
2022-08-16 11:23:56 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2022-08-16 11:24:25 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au) (Changing host)
2022-08-16 11:24:25 +0200Me-me(~Me-me@user/me-me)
2022-08-16 11:28:18 +0200luffy(~chenqisu1@183.217.201.23)
2022-08-16 11:29:43 +0200waldo(~waldo@user/waldo) (Ping timeout: 268 seconds)
2022-08-16 11:30:08 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-08-16 11:38:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 11:43:32 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-08-16 11:48:07 +0200kilolympus(~kilolympu@90.206.106.191) (Read error: Connection reset by peer)
2022-08-16 11:48:58 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds)
2022-08-16 11:51:42 +0200kilolympus(~kilolympu@90.206.106.191)
2022-08-16 11:57:43 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-08-16 11:57:45 +0200benin0(~benin@183.82.178.82)
2022-08-16 12:02:11 +0200kilolympus(~kilolympu@90.206.106.191) (Ping timeout: 248 seconds)
2022-08-16 12:12:51 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:6041:d333:dc45:72df) (Ping timeout: 248 seconds)
2022-08-16 12:14:09 +0200vysn(~vysn@user/vysn) (Ping timeout: 256 seconds)
2022-08-16 12:18:13 +0200kilolympus(~kilolympu@90.206.106.191)
2022-08-16 12:22:11 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:e00d:69dc:2609:faaf)
2022-08-16 12:22:49 +0200pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2022-08-16 12:26:23 +0200pavonia(~user@user/siracusa)
2022-08-16 12:27:15 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:e00d:69dc:2609:faaf) (Ping timeout: 248 seconds)
2022-08-16 12:46:49 +0200CiaoSen(~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2022-08-16 12:46:52 +0200dknite(~dknite@49.37.45.100) (Read error: Connection reset by peer)
2022-08-16 12:47:04 +0200dknite(~dknite@110.224.4.96)
2022-08-16 12:48:43 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:964d:e751:66f2:8202)
2022-08-16 12:56:47 +0200xff0x_(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
2022-08-16 12:59:54 +0200dsrt^(~dsrt@50.231.67.43)
2022-08-16 13:05:07 +0200tv(~tv@user/tv) (Read error: Connection reset by peer)
2022-08-16 13:09:57 +0200alp_(~alp@user/alp) (Remote host closed the connection)
2022-08-16 13:10:21 +0200alp_(~alp@user/alp)
2022-08-16 13:12:26 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-08-16 13:19:30 +0200dknite(~dknite@110.224.4.96) (Read error: Connection reset by peer)
2022-08-16 13:20:01 +0200pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2022-08-16 13:20:31 +0200dknite(~dknite@110.224.4.96)
2022-08-16 13:23:09 +0200tv(~tv@user/tv)
2022-08-16 13:23:42 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-08-16 13:26:22 +0200coot(~coot@213.134.176.158) (Quit: coot)
2022-08-16 13:30:11 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-08-16 13:32:39 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-08-16 13:33:40 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-08-16 13:34:44 +0200m1dnight(~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.6)
2022-08-16 13:39:10 +0200waldo(~waldo@user/waldo)
2022-08-16 13:39:52 +0200Techcable(~Techcable@user/Techcable) (Remote host closed the connection)
2022-08-16 13:40:38 +0200CiaoSen(~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-08-16 13:41:23 +0200pavonia(~user@user/siracusa)
2022-08-16 13:41:41 +0200Techcable(~Techcable@user/Techcable)
2022-08-16 13:41:45 +0200Allio84(~Android@79-74-233-27.dynamic.dsl.as9105.com)
2022-08-16 13:41:55 +0200waldo(~waldo@user/waldo) (Client Quit)
2022-08-16 13:48:16 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-16 13:50:17 +0200xff0x_(~xff0x@2405:6580:b080:900:55a5:3141:91aa:3e87)
2022-08-16 13:58:17 +0200 <qrpnxz> the light of dawn heals my soul
2022-08-16 14:00:03 +0200jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 248 seconds)
2022-08-16 14:00:05 +0200jonathanx_(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-08-16 14:01:26 +0200seydar(~seydar@154-27-113-252.starry-inc.net)
2022-08-16 14:03:47 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-16 14:04:51 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
2022-08-16 14:07:05 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-08-16 14:07:36 +0200hippoid(~idris@c-98-220-13-8.hsd1.il.comcast.net)
2022-08-16 14:07:40 +0200m1dnight(~christoph@78-22-0-121.access.telenet.be)
2022-08-16 14:10:01 +0200ski. o O ( "Light of day" ("Pinball Dreams" title music) by Blaizer (aka Olof Gustafsson) / Digital Illusions (later DICE) in 1992 at <https://www.youtube.com/watch?v=dErnfo6eyew> )
2022-08-16 14:11:03 +0200 <janus> does anyone have experience with upgrading to MonadTrans of transformers-0.6?
2022-08-16 14:11:06 +0200 <janus> i am looking at https://hackage.haskell.org/package/transformers-0.6.0.4/docs/src/Control.Monad.Trans.Class.html#M…
2022-08-16 14:11:27 +0200 <janus> i want to make servant compatible, but it had no monad constraint on the StepT datatype
2022-08-16 14:11:51 +0200tv(~tv@user/tv) (Read error: Connection reset by peer)
2022-08-16 14:11:54 +0200 <janus> not sure how i would write the instance declaration such that it demands Monad m
2022-08-16 14:13:05 +0200 <janus> the current transformers-0.5 code is here: https://github.com/haskell-servant/servant/blob/73c87bc2bc0685649f2337b06ab4fdc66c4ce1dd/servant/s…
2022-08-16 14:13:57 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 14:14:11 +0200 <janus> MonadTrans a kind that doesn't allow me to apply the m to StepT
2022-08-16 14:14:22 +0200alp_(~alp@user/alp) (Ping timeout: 268 seconds)
2022-08-16 14:14:45 +0200 <janus> so i am thinking that the instance can't exist at all any more, since i have nowhere to put that Monad m
2022-08-16 14:16:19 +0200jakalx(~jakalx@base.jakalx.net)
2022-08-16 14:17:14 +0200david_(~david@2a01:4b00:f42b:3d00:71c6:f067:39da:6e70)
2022-08-16 14:17:37 +0200david_Guest8522
2022-08-16 14:21:08 +0200 <jackdk> janus: got a repo, branch, or error message ?
2022-08-16 14:21:38 +0200dknite(~dknite@110.224.4.96) (Ping timeout: 256 seconds)
2022-08-16 14:24:25 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-08-16 14:24:33 +0200 <janus> jackdk: yeah, the repos are transformers and servant, i linked them both above. the error message reported when compiling with transformers-0.6 is that it is missing the Monad constraint
2022-08-16 14:24:40 +0200 <qrpnxz> janus: i don't understand the problem. MonadTrans says m is a monad, and you are just fmapping
2022-08-16 14:25:21 +0200 <janus> qrpnxz: the requirement that m is a Monad is new in transformers-0.6. the old behaviour is visible in the other branch of the CPP if
2022-08-16 14:25:32 +0200 <jackdk> what if you put the superclass constraint in the instance decl?
2022-08-16 14:26:02 +0200 <janus> jackdk: yeah, i wanted to do that, but i don't know how to write that since MonadTrans has a kind that doesn't let me apply the m to StepT
2022-08-16 14:26:18 +0200 <qrpnxz> m always had to be a monad. Now also the transformed monad has to be a monad. And if it's not, then it's not really a monad tranformer is it
2022-08-16 14:26:56 +0200 <jackdk> `instance (forall m. Monad m => Monad (StepT m)) => MonadTrans StepT where`?
2022-08-16 14:26:56 +0200 <qrpnxz> you can have your own lift function that puts monads into your not-monad-transformer
2022-08-16 14:26:59 +0200 <janus> qrpnxz: but look at the servant code, StepT is not a Monad as far as i can see
2022-08-16 14:27:04 +0200 <qrpnxz> right
2022-08-16 14:27:07 +0200 <qrpnxz> so it's not a monad transformer
2022-08-16 14:27:15 +0200 <janus> qrpnxz: so the instance should be removed?
2022-08-16 14:27:20 +0200 <qrpnxz> yes
2022-08-16 14:27:21 +0200nilradical(~nilradica@user/naso)
2022-08-16 14:27:56 +0200jgeerds(~jgeerds@55d46bad.access.ecotel.net) (Ping timeout: 268 seconds)
2022-08-16 14:28:19 +0200 <jackdk> Right, because Conduit and Streaming both are actual monad transformers because they have a return type from teh whole computation
2022-08-16 14:28:38 +0200 <jackdk> whereas your StepT has a `Stop` with no type param
2022-08-16 14:28:40 +0200tv(~tv@user/tv)
2022-08-16 14:29:00 +0200 <janus> jackdk: if i do that, i think i get an error about m not being mentioned on the RHS. but not sure, i can try it again. doesn't make too much sense to me
2022-08-16 14:29:11 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-08-16 14:29:45 +0200 <jackdk> so I think your options are "remove the instance" because it wasn't ever lawful, or make it a real monad transformer (in which case StepT looks a lot like the core type from package streaming)
2022-08-16 14:31:16 +0200 <qrpnxz> since it's not a transformer, a stream fusion type might be better too. idk if this is public API
2022-08-16 14:31:56 +0200themc47(~mc47@xmonad/TheMC47)
2022-08-16 14:32:03 +0200luffy(~chenqisu1@183.217.201.23) (Ping timeout: 248 seconds)
2022-08-16 14:32:09 +0200img(~img@user/img)
2022-08-16 14:32:42 +0200 <janus> the test suite still passes if i remove it.
2022-08-16 14:33:03 +0200 <janus> SourceIO looks like it is part of the public api: https://github.com/haskell-servant/servant/blob/0b706aa6d171c59e010f4ea585c8c59529a8f7df/servant/s…
2022-08-16 14:34:10 +0200 <qrpnxz> looks like the internal representation isn't?
2022-08-16 14:34:11 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 248 seconds)
2022-08-16 14:34:39 +0200 <janus> well it's exported: https://github.com/haskell-servant/servant/blob/f5a91d20e1bd56958878d50fd3d6bdff69e9ad2a/servant/s…
2022-08-16 14:35:10 +0200 <qrpnxz> i see
2022-08-16 14:35:12 +0200 <janus> given that it's exported, i guess a removal would mandate a major bump. but servant has a lot of these afaik
2022-08-16 14:36:05 +0200GoldsteinQ(~goldstein@goldstein.rs) (Quit: ZNC 1.8.2 - https://znc.in)
2022-08-16 14:40:12 +0200 <merijn> @where pvp
2022-08-16 14:40:12 +0200 <lambdabot> https://pvp.haskell.org/
2022-08-16 14:40:20 +0200 <merijn> Fortunately, the PVP has a flowchart :p
2022-08-16 14:43:50 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds)
2022-08-16 14:45:06 +0200nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-16 14:45:34 +0200luffy(~chenqisu1@183.217.201.23)
2022-08-16 14:45:49 +0200GoldsteinQ(~goldstein@goldstein.rs)
2022-08-16 14:51:06 +0200Everything(~Everythin@37.115.210.35)
2022-08-16 14:52:19 +0200pagnol(~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 248 seconds)
2022-08-16 14:52:19 +0200tv(~tv@user/tv) (Read error: Connection reset by peer)
2022-08-16 14:52:52 +0200ubert(~Thunderbi@178.165.184.116.wireless.dyn.drei.com) (Remote host closed the connection)
2022-08-16 14:53:10 +0200ubert(~Thunderbi@178.165.184.116.wireless.dyn.drei.com)
2022-08-16 15:02:13 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-16 15:03:31 +0200hippoid(~idris@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 248 seconds)
2022-08-16 15:03:47 +0200 <seydar> alright, back again with my socket writing issues. https://paste.tomsmeding.com/VHZFcldy
2022-08-16 15:04:20 +0200 <seydar> I've got a ruby server and a haskell client, and while I can get haskell to write and ruby to read, I can't get them to do *both*
2022-08-16 15:04:58 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-08-16 15:05:40 +0200 <seydar> everything just hangs until I ^C one of the programs, and then they execute the rest of their code.
2022-08-16 15:06:10 +0200vysn(~vysn@user/vysn)
2022-08-16 15:06:47 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2022-08-16 15:06:56 +0200 <tdammers> you mean you want the same program to read and write in parallel?
2022-08-16 15:07:09 +0200 <tdammers> (or, well, concurrently)
2022-08-16 15:07:15 +0200nilradical(~nilradica@user/naso)
2022-08-16 15:08:32 +0200jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
2022-08-16 15:08:46 +0200 <seydar> It's like it's blocking on the ruby side on #read
2022-08-16 15:09:18 +0200 <seydar> tdammers: yeah, I feel like I'm being dumb about it... break it to me hard
2022-08-16 15:10:02 +0200tv(~tv@user/tv)
2022-08-16 15:10:03 +0200 <seydar> After `sendAll` from Haskell, Ruby hangs. I think it wants to see the socket closed, because that's how pipes work (I think)
2022-08-16 15:10:34 +0200 <seydar> so really my question is: how do I stream data
2022-08-16 15:10:51 +0200 <seydar> and the answer is probably read in chunks as opposed to simply #read, which is prolly reading until EOF
2022-08-16 15:11:16 +0200 <seydar> I'd like to thank everyone for rubber ducking this with me, I will think fondly of you all
2022-08-16 15:11:36 +0200coot(~coot@213.134.176.158)
2022-08-16 15:12:02 +0200 <merijn> seydar: It might just be stuck in buffers
2022-08-16 15:12:11 +0200 <tdammers> right, so here's somethign you need to know about sockets, and file descriptors in general: most reads and writes are *blocking*
2022-08-16 15:13:22 +0200 <seydar> tdammers: yeah, great point. I guess I sorta assumed that after haskell does sendAll that it'd send an EOF but keep the socket open for reading after that
2022-08-16 15:13:34 +0200 <seydar> I guess I have to write that functionality myself
2022-08-16 15:13:50 +0200 <tdammers> maybe; or you could use a library that takes care of it for you
2022-08-16 15:13:54 +0200 <merijn> The blocking seems fairly irrelevant here (unless ruby's read tries to read until EOF), the fact that both sender/receiver will buffer data is probably more relevant
2022-08-16 15:13:59 +0200 <tdammers> I like zeromq
2022-08-16 15:14:44 +0200 <merijn> zeromq is...considerably more complex thatn it at first appears :p
2022-08-16 15:14:52 +0200 <tdammers> it is
2022-08-16 15:14:55 +0200 <tdammers> but so are sockets
2022-08-16 15:15:21 +0200 <merijn> Sure :p
2022-08-16 15:16:28 +0200 <seydar> ugh. so if I'm reading 1024 bytes from a socket, it's going to block until it receives 1024 bytes or EOF
2022-08-16 15:17:06 +0200 <seydar> sockets are canceled. no one is allowed to use them anymore
2022-08-16 15:17:26 +0200 <[exa]> seydar: if that's a "normal" socket it should not be the case, they return whatever finished packets right away
2022-08-16 15:17:28 +0200 <merijn> seydar: Correct :p
2022-08-16 15:17:41 +0200 <merijn> seydar: you'll want to do a non-blocking read :p
2022-08-16 15:17:44 +0200luffy(~chenqisu1@183.217.201.23) (Ping timeout: 256 seconds)
2022-08-16 15:18:29 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-16 15:19:15 +0200 <kritzefitz> seydar: I'm with [exa] on this one. If it's actually a socket, it should only block until at least one byte has been received, not considerably longer.
2022-08-16 15:20:09 +0200 <merijn> kritzefitz: No
2022-08-16 15:20:17 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 15:20:24 +0200 <merijn> kritzefitz: TCP sockets with explicit request sizes normally block until that many bytes are received
2022-08-16 15:21:15 +0200 <merijn> Or, well, it depends on sockoptions
2022-08-16 15:23:11 +0200 <merijn> And language wrappers, actually, scratch that, lemme just go with "It Depends (TM)"
2022-08-16 15:24:35 +0200 <seydar> I'm using local unix sockets to write to memory between programs in different languages
2022-08-16 15:24:37 +0200nilradical(~nilradica@user/naso) (Remote host closed the connection)
2022-08-16 15:25:13 +0200 <merijn> seydar: I would probably just use pipes for that where possible
2022-08-16 15:25:39 +0200nilradical(~nilradica@user/naso)
2022-08-16 15:25:40 +0200 <merijn> But that's mostly when there is one parent program that spawns and talks to children
2022-08-16 15:25:41 +0200Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-08-16 15:28:35 +0200mmhat(~mmh@p200300f1c732d60cee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-08-16 15:29:50 +0200 <seydar> merijn: given that the server is in ruby and the client is in haskell, I'm not sure pipes are usable here — please correct me if I'm wrong
2022-08-16 15:30:12 +0200nilradical(~nilradica@user/naso) (Ping timeout: 256 seconds)
2022-08-16 15:30:13 +0200tv(~tv@user/tv) (Read error: Connection reset by peer)
2022-08-16 15:31:02 +0200 <janus> seydar: you can use wireshark to see whether the data is on the socket
2022-08-16 15:31:16 +0200 <janus> seydar: with socat you can pipe the unix socket to tcp and then back
2022-08-16 15:31:33 +0200 <janus> (so you don't need to adjust the code)
2022-08-16 15:33:35 +0200alp_(~alp@user/alp)
2022-08-16 15:33:39 +0200nilradical(~nilradica@user/naso)
2022-08-16 15:34:49 +0200 <merijn> seydar: Why wouldn't they be?
2022-08-16 15:34:58 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-08-16 15:35:31 +0200 <merijn> seydar: The real issue is that it mostly only makes sense if one process is spawned by the others (so probably not here), but the languages are mostly irrelevant
2022-08-16 15:35:53 +0200 <seydar> merijn: right, that's the thing: one process isn't spawning the other
2022-08-16 15:36:11 +0200pagnol(~me@dhcp-077-248-010-137.chello.nl)
2022-08-16 15:36:49 +0200 <seydar> actually technically they *could* be, I could just do a proper fork-exec
2022-08-16 15:37:06 +0200 <seydar> connect STDIN and STDOUT
2022-08-16 15:37:28 +0200 <seydar> though now I have the question of having *multiple* input pipes and *multiple* output pipes (just out of curiosity)
2022-08-16 15:37:28 +0200 <geekosaur> there are named pipes
2022-08-16 15:37:56 +0200eod|fserucas(~eod|fseru@46.50.4.9) (Quit: Leaving)
2022-08-16 15:38:15 +0200eod|fserucas(~eod|fseru@46.50.4.9)
2022-08-16 15:38:32 +0200eod|fserucas(~eod|fseru@46.50.4.9) (Client Quit)
2022-08-16 15:39:01 +0200fserucas|eod(~fserucas|@46.50.4.9)
2022-08-16 15:40:23 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 15:41:47 +0200dsrt^(~dsrt@50.231.67.43) (Ping timeout: 252 seconds)
2022-08-16 15:43:13 +0200 <merijn> seydar: so, on posix platforms (i.e. all but windows) you can send file descriptors over pipes
2022-08-16 15:43:25 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-08-16 15:43:37 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 15:44:12 +0200 <merijn> seydar: Also, time to go on my usual rant that "proper" fork-exec is impossible for mere mortals, you want posix_spawn (or, specifically in Haskell: the process package)
2022-08-16 15:44:58 +0200zer0bitz(~zer0bitz@2001:2003:f748:2000:7d8c:cb4c:6f2b:60ad)
2022-08-16 15:45:20 +0200sudden(~cat@user/sudden) (Read error: Connection reset by peer)
2022-08-16 15:46:22 +0200mmhat(~mmh@p200300f1c70a1294ee086bfffe095315.dip0.t-ipconnect.de)
2022-08-16 15:46:39 +0200 <kritzefitz> seydar: You don't even need named pipes or STDIN/STDOUT. There's a function "pipe()" that creates two brand new file descriptors connected by a pipe. But I'm not sure how if there's a wrapper in Haskell.
2022-08-16 15:46:47 +0200 <kritzefitz> There probably is in the unix package.
2022-08-16 15:46:56 +0200 <ski> (couldn't one use multiple unnamed pipes ?)
2022-08-16 15:47:00 +0200janus(janus@anubis.0x90.dk) ()
2022-08-16 15:47:32 +0200 <geekosaur> https://downloads.haskell.org/ghc/9.2.3/docs/html/libraries/unix-2.7.2.2/System-Posix-IO.html#v:cr…
2022-08-16 15:47:48 +0200tv(~tv@user/tv)
2022-08-16 15:48:19 +0200 <seydar> I'm also terrified of letting other random processes write to a named pipe. Standard permissions don't feel safe enough
2022-08-16 15:48:24 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-08-16 15:48:37 +0200 <merijn> I wouldn't manually create pipes, though. telling process to make them for you is simpler
2022-08-16 15:48:45 +0200 <geekosaur> AF_UNIX sockets have the same problem
2022-08-16 15:48:58 +0200 <geekosaur> anyone could connect to them if they know the name
2022-08-16 15:49:11 +0200 <geekosaur> and of course AF_INET is worse
2022-08-16 15:49:41 +0200 <merijn> I actually have code that spawns a python process and uses pipes to communicate (since I need multiple parallel communication channels instead of just stdin/stdout)
2022-08-16 15:49:48 +0200 <ski> i wonder what the "May throw an exception if this is an invalid descriptor." on `createPipe' is for
2022-08-16 15:49:51 +0200 <merijn> but looking at the code I'm not sure it's actually helpful
2022-08-16 15:50:05 +0200 <merijn> Since I can only half follow it :p
2022-08-16 15:56:07 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-08-16 16:00:43 +0200 <seydar> hm you're right. now i need to reimplement authorization over unix sockets
2022-08-16 16:00:54 +0200 <seydar> OAuth over RabbitMQ
2022-08-16 16:01:21 +0200 <seydar> that seems like the right and simple answer for passing calculations back and forth between ruby and haskell
2022-08-16 16:01:56 +0200 <seydar> I need MFA and OAuth over RabbitMQ (google sign-in optional)
2022-08-16 16:02:20 +0200 <seydar> every time you run a program, you get signed up for a mailing list
2022-08-16 16:02:57 +0200 <seydar> phone number required so that I can text you about new releases (unsubscribing will be disallowed for security reasons)
2022-08-16 16:03:04 +0200Digit(~user@user/digit) (Read error: Connection reset by peer)
2022-08-16 16:03:43 +0200 <seydar> this will take some server space to make, so all local computations will be done on your machine but ferried over to my servers on AWS so I can implement the authorization scheme
2022-08-16 16:04:09 +0200jakalx(~jakalx@base.jakalx.net)
2022-08-16 16:04:27 +0200 <seydar> to pay for this, every 64KB of data will have 24KB of ads thrown in
2022-08-16 16:12:40 +0200phma_(phma@2001:5b0:2172:b518:6336:2e81:da5f:9132)
2022-08-16 16:12:43 +0200waldo(~waldo@user/waldo)
2022-08-16 16:15:02 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:964d:e751:66f2:8202) (Quit: WeeChat 2.8)
2022-08-16 16:16:29 +0200zmt01(~zmt00@user/zmt00)
2022-08-16 16:17:05 +0200phma(~phma@host-67-44-208-110.hnremote.net) (Ping timeout: 268 seconds)
2022-08-16 16:19:41 +0200zmt00(~zmt00@user/zmt00) (Ping timeout: 244 seconds)
2022-08-16 16:21:06 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-08-16 16:21:34 +0200 <seydar> great news: only one process can bind to a socket at a time, so I don't think I have to worry about security concerns of having a socket be filesystem-accessible
2022-08-16 16:23:46 +0200causal(~user@50.35.83.177)
2022-08-16 16:28:56 +0200seydar(~seydar@154-27-113-252.starry-inc.net) (Quit: leaving)
2022-08-16 16:35:16 +0200 <tdammers> sounds like a recipe for GDPR "challenges"
2022-08-16 16:36:28 +0200 <merijn> tdammers: Good, I like sending GDPR requests to companies mailing me when I'm bored :p
2022-08-16 16:38:35 +0200moats(~oats@user/oats) ()
2022-08-16 16:40:21 +0200 <tdammers> I should pick up that hobby too
2022-08-16 16:41:29 +0200causal(~user@50.35.83.177) (Quit: WeeChat 3.6)
2022-08-16 16:43:35 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 16:45:32 +0200 <raehik> Any chance there's an efficient way to turn a KnownSymbol into a UTF-8 ByteString (or a ByteArray or something) without going through String?
2022-08-16 16:45:48 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-16 16:47:09 +0200 <geekosaur> I would expect it's stored in the packed internal format, but accessing that probably requires going through something in GHC.*
2022-08-16 16:47:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-08-16 16:50:44 +0200 <geekosaur> (GHC.Pack and it's already a ByteArray#; sadly you probably have to inspect the generated code to see how to use it, or ask in #ghc)
2022-08-16 16:50:47 +0200 <raehik> GHC.TypeLits only provides a String reify-er (reifier?) and a type-level UnconsSymbol
2022-08-16 16:51:14 +0200 <raehik> Oh thanks for that module name. I couldn't find what I was looking for in a quick text search of GHC
2022-08-16 16:55:37 +0200 <geekosaur> yeh, I don't see any way to access the packed version that ghc emits, all that code is hidden at the haskell level
2022-08-16 16:55:40 +0200shriekingnoise(~shrieking@186.137.167.202)
2022-08-16 16:56:54 +0200 <raehik> I'm not surprised, but I held on to a glimmer of hope that someone would have written some crazy code for bytestring efficiency which I could use :)
2022-08-16 16:57:10 +0200 <geekosaur> sounds like something edwardk would do 🙂
2022-08-16 16:57:35 +0200kenran(~kenran@200116b82b14700069ade1b6a635395b.dip.versatel-1u1.de)
2022-08-16 16:58:10 +0200 <geekosaur> also I'm not saying it's impossible, since ghc evidently emits code that does it; you just have to figure out how to generate the same code from haskell
2022-08-16 16:58:43 +0200 <c_wraith> I recently discovered template haskell gives you tools to work with the same mechanism that it uses to compile strings - you can embed an arbitrary chunk of binary data into a progam at compilation time.
2022-08-16 16:59:07 +0200kenran(~kenran@200116b82b14700069ade1b6a635395b.dip.versatel-1u1.de) (Client Quit)
2022-08-16 16:59:12 +0200 <c_wraith> But I don't think you can go the opposite direction, looking up the pointer to a chunk of binary data.
2022-08-16 16:59:14 +0200 <geekosaur> sure, that's how file-embedding qqs work too
2022-08-16 17:00:13 +0200 <c_wraith> Unless maybe you can inspect the closure of the thunk that represents a string literal
2022-08-16 17:00:29 +0200 <c_wraith> There are tools for that, but I wouldn't want to rely on them always being right
2022-08-16 17:00:56 +0200 <geekosaur> that's more or less what I was suggesting, since it's doing the same thing
2022-08-16 17:01:06 +0200 <c_wraith> like, if anything has forced the full string already, there might not be any references left
2022-08-16 17:02:43 +0200 <geekosaur> also I think there's a proposal to allow direct access to the packed string for e.g. Text (especially with text 2.0 where it should be very close to the same rep)
2022-08-16 17:03:27 +0200 <c_wraith> that seems like it'd be part of IsString, instead of something more general
2022-08-16 17:03:31 +0200 <raehik> I could do some really silly stuff like Symbol -> [Char], each Char -> Nat, but then for UTF-8 I need to implement the algorithm going from code point to bytes
2022-08-16 17:04:35 +0200 <raehik> and it feels like a waste when I bet they store stuff in UTF-8 internally anyway
2022-08-16 17:04:48 +0200 <geekosaur> they do
2022-08-16 17:06:22 +0200nilradical(~nilradica@user/naso) ()
2022-08-16 17:09:06 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-08-16 17:09:45 +0200jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-08-16 17:09:47 +0200pagnol(~me@dhcp-077-248-010-137.chello.nl) (Ping timeout: 252 seconds)
2022-08-16 17:10:16 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-08-16 17:10:42 +0200Me-me(~Me-me@user/me-me) (Quit: Going offline, see ya! (www.adiirc.com))
2022-08-16 17:10:58 +0200 <merijn> geekosaur: They do? I'm pretty sure GHC used some other encoding internally
2022-08-16 17:11:14 +0200 <merijn> some iso something or other
2022-08-16 17:11:36 +0200 <raehik> geekosaur: I think I foud the proposal (#154 on ghc-proposals), good read. Thanks again
2022-08-16 17:14:32 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-08-16 17:16:23 +0200vysn(~vysn@user/vysn) (Ping timeout: 255 seconds)
2022-08-16 17:20:08 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 244 seconds)
2022-08-16 17:24:51 +0200CiaoSen(~Jura@p200300c95738a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-08-16 17:27:03 +0200 <geekosaur> merijn, but I can write a literal string containing characters not in an ISO charset, so I think it has to handle Unicode codepoints somehow
2022-08-16 17:27:29 +0200 <geekosaur> > text "☺"
2022-08-16 17:27:31 +0200 <lambdabot>
2022-08-16 17:28:30 +0200 <geekosaur> it might be a variant utf8 with a nonstandard encoding for \NUL
2022-08-16 17:29:37 +0200tv(~tv@user/tv) (Read error: Connection reset by peer)
2022-08-16 17:30:16 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2022-08-16 17:35:27 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com)
2022-08-16 17:37:45 +0200Pickchea(~private@user/pickchea)
2022-08-16 17:40:01 +0200 <PiDelport> Are there any https://wiki.haskell.org/ admins around, or where can I get in contact with one, regarding an account issue?
2022-08-16 17:40:36 +0200 <geekosaur> if you can't find one here, try #haskell-infrastructure
2022-08-16 17:41:34 +0200 <PiDelport> Ah, thanks!
2022-08-16 17:41:40 +0200 <tomsmeding> % :set -XMagicHash -XBangPatterns -XUnboxedTuples
2022-08-16 17:41:40 +0200 <yahb2> <no output>
2022-08-16 17:41:46 +0200 <tomsmeding> % :m +GHC.Exts GHC.IO GHC.Word
2022-08-16 17:41:46 +0200 <yahb2> <no output>
2022-08-16 17:41:52 +0200 <tomsmeding> % IO (\s -> let !(# s', w #) = readWord8OffAddr# "\NULhoi"# 0# s in (# s', W8# w #))
2022-08-16 17:41:52 +0200 <yahb2> 0
2022-08-16 17:41:55 +0200 <int-e> geekosaur: right: -- NB. '\0' is encoded as '\xC0\x80', not '\0'. This is so that we can have 0-terminated UTF-8 strings
2022-08-16 17:42:00 +0200 <tomsmeding> geekosaur: no special encoding for nulls :p
2022-08-16 17:42:04 +0200 <tomsmeding> oh
2022-08-16 17:42:51 +0200 <tomsmeding> % IO (\s -> let !(# s', w #) = readWord8OffAddr# "\NULhoi"# 1# s in (# s', W8# w #))
2022-08-16 17:42:51 +0200 <yahb2> 104
2022-08-16 17:42:57 +0200 <tomsmeding> % Data.Char.ord 'h'
2022-08-16 17:42:57 +0200 <yahb2> 104
2022-08-16 17:44:24 +0200 <tomsmeding> yahb2 is really a missed opportunity, should've been yayahb
2022-08-16 17:44:27 +0200 <int-e> % import GHC.Base
2022-08-16 17:44:27 +0200 <yahb2> <no output>
2022-08-16 17:44:30 +0200 <int-e> % unpackCString# "\NUL123"#
2022-08-16 17:44:30 +0200 <yahb2> ""
2022-08-16 17:44:42 +0200 <int-e> % unpackCString# "\xC0\x80123"#
2022-08-16 17:44:42 +0200 <yahb2> <interactive>:58:16: error: ; primitive string literal must contain only characters <= '\xFF'
2022-08-16 17:44:49 +0200 <tomsmeding> interesting
2022-08-16 17:45:03 +0200 <geekosaur> need a \&
2022-08-16 17:45:04 +0200 <int-e> % unpackCString# "\xC0\x80abc"#
2022-08-16 17:45:04 +0200 <yahb2> <interactive>:60:16: error: ; primitive string literal must contain only characters <= '\xFF'
2022-08-16 17:45:07 +0200 <int-e> errr
2022-08-16 17:45:11 +0200 <int-e> % unpackCString# "\xC0\x80___"#
2022-08-16 17:45:11 +0200 <yahb2> "\192\128___"
2022-08-16 17:45:20 +0200 <int-e> % unpackCStringUtf8# "\xC0\x80___"#
2022-08-16 17:45:20 +0200 <yahb2> "\NUL___"
2022-08-16 17:45:30 +0200 <int-e> Sorry, should've tested offline.
2022-08-16 17:46:51 +0200tv(~tv@user/tv)
2022-08-16 17:46:57 +0200 <int-e> Hmm, what is the proper way to have an escaped hex character followed by a digit in a String literal?
2022-08-16 17:47:22 +0200jpolchlo(~jpolchlo@pool-100-34-178-81.phlapa.fios.verizon.net)
2022-08-16 17:47:23 +0200 <geekosaur> \&
2022-08-16 17:47:31 +0200 <int-e> thanks
2022-08-16 17:47:35 +0200 <geekosaur> > "\xC0\x80\&123"
2022-08-16 17:47:36 +0200 <lambdabot> "\192\128\&123"
2022-08-16 17:47:41 +0200 <geekosaur> > "\xC0\x80\&123"#
2022-08-16 17:47:43 +0200 <lambdabot> error:
2022-08-16 17:47:43 +0200 <lambdabot> • Couldn't match a lifted type with an unlifted type
2022-08-16 17:47:43 +0200 <lambdabot> When matching types
2022-08-16 17:47:50 +0200 <tomsmeding> interesting error
2022-08-16 17:47:51 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 17:48:09 +0200 <tomsmeding> ah it's just showing
2022-08-16 17:48:15 +0200 <geekosaur> right
2022-08-16 17:48:19 +0200 <jpolchlo> Hi!  Just ran into a bug (https://bugs.gentoo.org/862492) with installing dev-haskell/pantry.  Wondering about suggestions for getting around this, given that there are no alternate releases to try in the portage tree.  Am I stuck until the new version is released?
2022-08-16 17:48:29 +0200 <tomsmeding> :t "\xC0\x80\&123"# -- geekosaur
2022-08-16 17:48:30 +0200 <lambdabot> GHC.Prim.Addr#
2022-08-16 17:50:01 +0200Allio84(~Android@79-74-233-27.dynamic.dsl.as9105.com) (Quit: -a- Connection Timed Out)
2022-08-16 17:51:57 +0200phma_phma
2022-08-16 17:53:07 +0200MajorBiscuit(~MajorBisc@c-001-001-040.client.tudelft.eduvpn.nl) (Ping timeout: 248 seconds)
2022-08-16 17:55:02 +0200Allio84(~Android@79-74-233-27.dynamic.dsl.as9105.com)
2022-08-16 17:55:16 +0200MajorBiscuit(~MajorBisc@46-229-126.internethome.cytanet.com.cy)
2022-08-16 17:55:18 +0200 <geekosaur> jpolchlo, a new version of cabal was just released, I presume you'll have to wait for other things to catch up with it if portage has already been updated
2022-08-16 17:55:21 +0200 <Cale> jpolchlo: Might depend on what you need it for. If you need the portage version to work, maybe not, but for general Haskell development, I'd almost never recommend using your system package manager anyway. (Unless perhaps it also happened to be nix.) You could just try getting cabal to build the hackage version of pantry perhaps.
2022-08-16 17:56:44 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net)
2022-08-16 17:57:10 +0200 <Cale> It looks as if perhaps some version bounds which needed to be present are not?
2022-08-16 17:58:59 +0200vglfr(~vglfr@145.224.94.75) (Ping timeout: 248 seconds)
2022-08-16 18:00:56 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 256 seconds)
2022-08-16 18:02:27 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-08-16 18:03:13 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-16 18:05:02 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-08-16 18:05:23 +0200 <albet70> https://twitter.com/andrewdgordon/status/1559448300134211584?s=21&t=NsHKF0JZLwaeHeyYgxvrlw
2022-08-16 18:05:50 +0200 <albet70> >>= has been 30 years!
2022-08-16 18:06:58 +0200jonathanx(~jonathan@c-5eea764a-74736162.cust.telenor.se)
2022-08-16 18:07:24 +0200 <albet70> but that IO as Monad isn't near 2000?
2022-08-16 18:07:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-16 18:08:18 +0200jonathanx_(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2022-08-16 18:08:36 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-08-16 18:09:40 +0200BusConscious(~martin@ip5f5bdd28.dynamic.kabel-deutschland.de) (Quit: leaving)
2022-08-16 18:12:07 +0200jonathanx(~jonathan@c-5eea764a-74736162.cust.telenor.se) (Read error: Connection reset by peer)
2022-08-16 18:21:46 +0200 <albet70> https://stackoverflow.com/questions/17002119/haskell-pre-monadic-i-o
2022-08-16 18:22:05 +0200 <albet70> when was this pre-monadic IO?
2022-08-16 18:22:09 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-08-16 18:22:23 +0200MajorBiscuit(~MajorBisc@46-229-126.internethome.cytanet.com.cy) (Ping timeout: 252 seconds)
2022-08-16 18:23:17 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
2022-08-16 18:28:42 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-08-16 18:29:05 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net)
2022-08-16 18:29:10 +0200 <geekosaur> https://serokell.io/blog/haskell-history says Haskell 1.3 introduced monadic I/O in 1996
2022-08-16 18:29:48 +0200 <geekosaur> which is why that other page referred people to the 1.2 report for a description of pre-monadic I/O
2022-08-16 18:30:07 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-08-16 18:30:42 +0200 <geekosaur> one assumes the actual introduction of monadic I/O predated the Report specifying it, so 1992 is quite possible
2022-08-16 18:31:34 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-08-16 18:32:27 +0200jakalx(~jakalx@base.jakalx.net)
2022-08-16 18:33:13 +0200 <geekosaur> I've heard fairly unpleasant things about pre-monadic I/O, like deadlocks if your Requests and Responses get out of sync
2022-08-16 18:33:15 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 18:35:05 +0200lyle(~lyle@24.244.29.77)
2022-08-16 18:35:10 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 18:35:40 +0200kuribas(~user@ptr-17d51eoyn5ldy9jvjfj.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2022-08-16 18:40:04 +0200 <dolio> There were continuation based interfaces that made it harder to get things wrong.
2022-08-16 18:40:13 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-16 18:40:27 +0200 <dolio> Which are roughly the same as using a monad.
2022-08-16 18:41:07 +0200 <ski> Cont ([Reponse] -> [Request])
2022-08-16 18:41:58 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net)
2022-08-16 18:45:40 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-08-16 18:46:51 +0200 <albet70> so before IO Monad, main use cps computation?
2022-08-16 18:47:29 +0200 <ski> iirc, `main' was still `Dialogue' ?
2022-08-16 18:47:31 +0200 <dolio> Much less convenient, though. You have to specify what happens for errors on every operation. They don't seem to have come up with the equivalent of (>>=).
2022-08-16 18:51:43 +0200benin0(~benin@183.82.178.82) (Quit: The Lounge - https://thelounge.chat)
2022-08-16 18:55:24 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-16 18:57:16 +0200chele(~chele@user/chele) (Quit: Leaving)
2022-08-16 18:57:16 +0200alp_(~alp@user/alp) (Read error: Connection reset by peer)
2022-08-16 18:57:30 +0200king_gs(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec)
2022-08-16 18:57:46 +0200alp_(~alp@user/alp)
2022-08-16 18:58:19 +0200ubert(~Thunderbi@178.165.184.116.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2022-08-16 18:59:16 +0200cynomys(~cynomys@user/cynomys)
2022-08-16 18:59:31 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 18:59:42 +0200 <albet70> ski , Cont (...) where is a?
2022-08-16 19:00:01 +0200 <albet70> Cont r a = (a->r)->r
2022-08-16 19:02:31 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net)
2022-08-16 19:03:14 +0200 <ski> @let type Dialogue = [Response] -> [Request]
2022-08-16 19:03:15 +0200 <lambdabot> Defined.
2022-08-16 19:03:22 +0200 <ski> @kind Cont Dialogue
2022-08-16 19:03:23 +0200 <lambdabot> * -> *
2022-08-16 19:03:31 +0200lyle(~lyle@24.244.29.77) (Ping timeout: 248 seconds)
2022-08-16 19:03:36 +0200 <ski> @unmtl Cont ([Reponse] -> [Request]) a
2022-08-16 19:03:36 +0200 <lambdabot> (a -> [Reponse] -> [Request]) -> [Reponse] -> [Request]
2022-08-16 19:05:17 +0200waldo(~waldo@user/waldo) (Ping timeout: 252 seconds)
2022-08-16 19:06:49 +0200jpolchlo(~jpolchlo@pool-100-34-178-81.phlapa.fios.verizon.net) (Quit: Client closed)
2022-08-16 19:06:57 +0200mmhat(~mmh@p200300f1c70a1294ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6)
2022-08-16 19:07:14 +0200kannon(~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
2022-08-16 19:08:59 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-08-16 19:09:07 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 19:10:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-16 19:14:44 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-16 19:16:01 +0200matthews(~matthews@gentoo/developer/matthew)
2022-08-16 19:16:12 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 19:18:19 +0200Tuplanolla(~Tuplanoll@91-159-69-12.elisa-laajakaista.fi)
2022-08-16 19:18:33 +0200gmg(~user@user/gehmehgeh)
2022-08-16 19:24:26 +0200vglfr(~vglfr@145.224.94.221)
2022-08-16 19:25:57 +0200 <Bulby[m]> i defined `fromJSONKey` for a non generic item however it's complaining about `fromJSONKeyList` even tho it should be supported
2022-08-16 19:26:24 +0200 <Bulby[m]> https://hackage.haskell.org/package/aeson-2.1.0.0/docs/Data-Aeson.html#v:fromJSONKeyList "end users should always be able to use default implementation of this method"
2022-08-16 19:28:01 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds)
2022-08-16 19:28:49 +0200vysn(~vysn@user/vysn)
2022-08-16 19:28:54 +0200king_gs(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Remote host closed the connection)
2022-08-16 19:29:12 +0200king_gs(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec)
2022-08-16 19:31:02 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-08-16 19:31:34 +0200AlexNoo_(~AlexNoo@94.233.241.197)
2022-08-16 19:32:16 +0200king_gs(~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Client Quit)
2022-08-16 19:32:31 +0200king_gs(~Thunderbi@187.201.216.244)
2022-08-16 19:34:25 +0200AlexZenon(~alzenon@178.34.151.166) (Ping timeout: 268 seconds)
2022-08-16 19:34:59 +0200AlexNoo(~AlexNoo@178.34.151.166) (Ping timeout: 252 seconds)
2022-08-16 19:35:24 +0200econo(uid147250@user/econo)
2022-08-16 19:35:41 +0200Alex_test(~al_test@178.34.151.166) (Ping timeout: 268 seconds)
2022-08-16 19:37:06 +0200waldo(~waldo@user/waldo)
2022-08-16 19:37:46 +0200AlexZenon(~alzenon@94.233.241.197)
2022-08-16 19:38:49 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-16 19:39:33 +0200Alex_test(~al_test@94.233.241.197)
2022-08-16 19:39:36 +0200AlexNoo_AlexNoo
2022-08-16 19:40:10 +0200king_gs(~Thunderbi@187.201.216.244) (Quit: king_gs)
2022-08-16 19:40:52 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 19:41:28 +0200biberu(~biberu@user/biberu)
2022-08-16 19:43:52 +0200king_gs(~Thunderbi@2806:103e:29:da7a:9512:8995:6da1:2a51)
2022-08-16 19:48:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-16 19:50:17 +0200fiddlerwoaroof(~fiddlerwo@user/fiddlerwoaroof) (Ping timeout: 255 seconds)
2022-08-16 19:50:56 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2022-08-16 19:51:29 +0200waldo(~waldo@user/waldo) (Quit: quit)
2022-08-16 19:52:32 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-16 19:53:11 +0200Guest8522(~david@2a01:4b00:f42b:3d00:71c6:f067:39da:6e70) (Quit: Leaving)
2022-08-16 19:53:32 +0200coot(~coot@213.134.176.158) (Ping timeout: 268 seconds)
2022-08-16 19:54:23 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 19:57:41 +0200vysn(~vysn@user/vysn) (Ping timeout: 256 seconds)
2022-08-16 19:58:07 +0200fiddlerwoaroof(~fiddlerwo@user/fiddlerwoaroof)
2022-08-16 20:02:36 +0200__monty__(~toonn@user/toonn)
2022-08-16 20:03:37 +0200dsrt^(~dsrt@50.231.67.43)
2022-08-16 20:10:20 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 20:11:57 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-16 20:13:31 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-08-16 20:14:27 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
2022-08-16 20:14:46 +0200Lord_of_Life_Lord_of_Life
2022-08-16 20:14:46 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-16 20:17:29 +0200king_gs(~Thunderbi@2806:103e:29:da7a:9512:8995:6da1:2a51) (Quit: king_gs)
2022-08-16 20:17:33 +0200lyle(~lyle@24.244.29.158)
2022-08-16 20:17:43 +0200king_gs(~Thunderbi@2806:103e:29:da7a:8e16:45ff:feeb:cfcf)
2022-08-16 20:20:27 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) (Ping timeout: 252 seconds)
2022-08-16 20:25:01 +0200mbuf(~Shakthi@122.165.55.71) (Quit: Leaving)
2022-08-16 20:32:38 +0200srk(~sorki@user/srk) (Ping timeout: 240 seconds)
2022-08-16 20:33:13 +0200srk(~sorki@user/srk)
2022-08-16 20:33:39 +0200dsrt^(~dsrt@50.231.67.43) (Ping timeout: 248 seconds)
2022-08-16 20:34:55 +0200 <zzz> why is cli rendering so slow compared to gui rendering? is it *all* because of gpu optimization?
2022-08-16 20:35:20 +0200 <monochrom> Hrm need a TPU don't we? :)
2022-08-16 20:35:36 +0200 <monochrom> But I don't find CLI rendering slow.
2022-08-16 20:35:46 +0200 <__monty__> zzz: Kind of, check out the terminal emulators that rely on GPU, Kitty, Alacritty, probably others.
2022-08-16 20:36:13 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 256 seconds)
2022-08-16 20:36:31 +0200 <[exa]> zzz: quite often it is because of a slow terminal implementation
2022-08-16 20:37:30 +0200 <monochrom> I do agree that in practice the escape codes are quite bulky to transmit for so little information, and many terminal emulators are inefficient.
2022-08-16 20:38:08 +0200 <monochrom> No one makes money off optimizing those or introducing TPU hardware.
2022-08-16 20:39:39 +0200 <monochrom> And given this is #haskell, you can also refine the question to: why is CLI rendering in Haskell so slow? Is it because Haskell? >:)
2022-08-16 20:41:42 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-16 20:41:55 +0200 <zzz> i'm building a simple 2d game just for fun and learning, and been experimenting with different rendering options for the UI. i'm purposefully using a slow machine for making performance hits that much obvious. text interfaces are no competition for graphical ones. simulating a text interface in openGL is faster than just output to terminal. what are some good GPU terminal emulators for 32bit linux?
2022-08-16 20:42:07 +0200 <zzz> monochrom: well... is it because of haskell? :p
2022-08-16 20:42:30 +0200pavonia(~user@user/siracusa)
2022-08-16 20:42:34 +0200 <zzz> i did try vty and brick
2022-08-16 20:42:52 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-16 20:43:00 +0200alp_(~alp@user/alp) (Ping timeout: 256 seconds)
2022-08-16 20:43:11 +0200kilolympus(~kilolympu@90.206.106.191) (Ping timeout: 252 seconds)
2022-08-16 20:43:16 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 20:43:19 +0200 <zzz> rendering vectors with gloss is much more performant
2022-08-16 20:43:38 +0200 <zzz> which is counter-intuitive for me
2022-08-16 20:46:49 +0200 <geekosaur> terminals are inherently slow, even when emulated. there are terminal emulators which use hardware accel (notably alacritty) but they don't help much
2022-08-16 20:46:58 +0200 <geekosaur> and kitty
2022-08-16 20:47:17 +0200 <dsal> There are also terminal emulators that will emulate slow modems. If you work on your GUI at like, 1200bps or so, it'll be fast.
2022-08-16 20:48:06 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 256 seconds)
2022-08-16 20:50:04 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-16 20:50:06 +0200kilolympus(~kilolympu@90.206.106.191)
2022-08-16 20:55:17 +0200kilolympus(~kilolympu@90.206.106.191) (Ping timeout: 252 seconds)
2022-08-16 20:55:54 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-16 20:57:45 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-16 20:58:07 +0200KaipeiKaiepi
2022-08-16 20:58:46 +0200kilolympus(~kilolympu@90.206.106.191)
2022-08-16 21:00:06 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-16 21:03:52 +0200 <zzz> so in conclusion for performance we're definetly better served with graphics
2022-08-16 21:04:10 +0200chexum_(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-08-16 21:04:33 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2022-08-16 21:05:34 +0200leah_thatcher
2022-08-16 21:06:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-16 21:06:12 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-16 21:06:25 +0200 <dsal> I guess it depends on what you're doing. I've done pretty well visualizing stuff with ansi bits before. Seemed fast enough.
2022-08-16 21:06:31 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-16 21:06:41 +0200 <Franciman> hello, is there any tutorial for FRP graphics in haskell for young people?
2022-08-16 21:08:10 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-08-16 21:09:15 +0200alphabeta(~kilolympu@90.206.106.191)
2022-08-16 21:09:38 +0200kilolympus(~kilolympu@90.206.106.191) (Ping timeout: 256 seconds)
2022-08-16 21:10:24 +0200 <dsal> zzz: At some point, you make the font so small that characters just turn into pixels, though: https://www.youtube.com/watch?v=R04l7DfyMq4
2022-08-16 21:11:05 +0200 <dsal> But you get really efficient transfer and storage. I artificially slowed this one down so you could see it happen: https://asciinema.org/a/288367
2022-08-16 21:11:08 +0200 <monochrom> The Planck font size >:)
2022-08-16 21:11:30 +0200 <dolio> How are you emulating the text interface in opengl? It probably wouldn't be surprising if it's doing something more efficient than certain ways of using a terminal.
2022-08-16 21:15:17 +0200 <dolio> Like, if you cat a large file, most terminals will draw the whole file. It'll happen quickly, but it'd be much quicker to only draw however much of the end of the file will appear on screen, and allow you to scroll back.
2022-08-16 21:16:08 +0200 <dolio> So, if your opengl is inherently buffering what it actually renders, and the TUI is not, the former is going to be faster.
2022-08-16 21:16:15 +0200Sciencentistguy6(~sciencent@hacksoc/ordinary-member)
2022-08-16 21:16:39 +0200 <dsal> We need mosh, but for local terminals.
2022-08-16 21:17:37 +0200alp_(~alp@user/alp)
2022-08-16 21:18:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-16 21:18:03 +0200 <zzz> dsal: oh man now you got me all excited about aoc. only 15 weeks to go
2022-08-16 21:18:08 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 21:18:40 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 268 seconds)
2022-08-16 21:18:40 +0200Sciencentistguy6Sciencentistguy
2022-08-16 21:19:38 +0200 <zzz> dolio: i drew circles instead of characters, but i'm getting the feeling that even if use bmps it'll be faster
2022-08-16 21:20:00 +0200 <zzz> the terminal might be the bottleneck
2022-08-16 21:20:21 +0200 <dsal> zzz: I'm trying to be less excited since I moved three hours later from last year which was already a bit late.
2022-08-16 21:20:39 +0200 <zzz> 5 am for me :X
2022-08-16 21:21:02 +0200pagnol(~me@213-205-209-87.ftth.glasoperator.nl)
2022-08-16 21:21:45 +0200 <dsal> That's nicer. I get up around 5 after having moved 3 hours west. So that'd work pretty well for me. Luckily, my day job is at least stimulating so I won't feel like I finally get to write interesting code when that comes around. :)
2022-08-16 21:22:05 +0200 <zzz> the think is, some friends are thinking of going to a cabin in the mountain for 3 or 4 days in december, and we all do aoc
2022-08-16 21:22:08 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-08-16 21:22:33 +0200 <zzz> so i'm screwed for at least a couple of nights :p
2022-08-16 21:23:46 +0200 <zzz> dsal: nice, few things better than an interesting job
2022-08-16 21:24:38 +0200 <dsal> I didn't have a job during AoC last year. That's definitely the best way to do it.
2022-08-16 21:24:47 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-16 21:25:10 +0200chomwitt(~chomwitt@2a02:587:dc06:ee00:4f0b:15e9:107f:312)
2022-08-16 21:27:02 +0200 <zzz> i was on vacation for 2 weeks. i definetly agree
2022-08-16 21:27:43 +0200 <lyle> Is there any Haskell streaming library that lets one create a stream from a file that's being appended to (a partial file sitting on disk that's not finished downloading?) The file's expected size would have to be known ahead of time since hitting EOF wouldn't be an indicator that the entire file was streamed.
2022-08-16 21:28:09 +0200 <dsal> I'd think you could do that with conduit with a custom source.
2022-08-16 21:31:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-16 21:36:57 +0200MajorBiscuit(~MajorBisc@46-229-126.internethome.cytanet.com.cy)
2022-08-16 21:38:17 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 21:40:18 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 21:45:48 +0200kenran(~kenran@200116b82b1470001d358890e3df3d7b.dip.versatel-1u1.de)
2022-08-16 21:46:22 +0200 <lyle> dsal: thanks, I was mostly looking at conduit and streamly. I guess I'll have to look into how these libraries deal with the normal case (where EOF is meaningful) and go from there.
2022-08-16 21:49:20 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Read error: Connection reset by peer)
2022-08-16 21:49:32 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-16 21:53:07 +0200pagnol(~me@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 248 seconds)
2022-08-16 21:54:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-16 21:55:18 +0200king_gs(~Thunderbi@2806:103e:29:da7a:8e16:45ff:feeb:cfcf) (Quit: king_gs)
2022-08-16 21:57:15 +0200Vajb(~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) (Read error: Connection reset by peer)
2022-08-16 21:57:51 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-08-16 21:58:59 +0200raym(~raym@user/raym) (Remote host closed the connection)
2022-08-16 21:59:30 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds)
2022-08-16 22:08:15 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-08-16 22:10:01 +0200nerdypepper(~nerdypepp@user/nerdypepper) (Quit: bye)
2022-08-16 22:10:31 +0200nerdypepper(~nerdypepp@user/nerdypepper)
2022-08-16 22:10:37 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-16 22:11:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-16 22:12:00 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
2022-08-16 22:12:27 +0200raym(~raym@user/raym)
2022-08-16 22:12:46 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-08-16 22:15:33 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-08-16 22:22:20 +0200king_gs(~Thunderbi@2806:103e:29:da7a:282e:1b4e:1ced:fb6f)
2022-08-16 22:29:37 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-16 22:36:10 +0200ddellacosta(~ddellacos@143.244.47.71) (Quit: WeeChat 3.5)
2022-08-16 22:36:14 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-08-16 22:36:30 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net)
2022-08-16 22:36:55 +0200AlexNoo(~AlexNoo@94.233.241.197) (Read error: Connection reset by peer)
2022-08-16 22:37:20 +0200AlexNoo(~AlexNoo@94.233.241.197)
2022-08-16 22:39:34 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-08-16 22:42:04 +0200king_gs(~Thunderbi@2806:103e:29:da7a:282e:1b4e:1ced:fb6f) (Remote host closed the connection)
2022-08-16 22:42:15 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 22:42:22 +0200king_gs(~Thunderbi@2806:103e:29:da7a:282e:1b4e:1ced:fb6f)
2022-08-16 22:42:22 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-16 22:42:59 +0200kenran(~kenran@200116b82b1470001d358890e3df3d7b.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-08-16 22:43:07 +0200Sinbad(~Sinbad@user/sinbad)
2022-08-16 22:48:40 +0200ajb_(~ajb@mimas.whatbox.ca)
2022-08-16 22:50:08 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-16 22:50:54 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-08-16 22:51:20 +0200ajb-(~ajb@mimas.whatbox.ca) (Ping timeout: 244 seconds)
2022-08-16 22:54:28 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-08-16 22:55:26 +0200ccntrq(~Thunderbi@172.209.94.92.rev.sfr.net) (Remote host closed the connection)
2022-08-16 22:58:43 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2022-08-16 23:00:32 +0200 <Sinbad> I am using readProcessWithExitCode "foo" [...] "" and it works as expected most of the time. In particular I can branch on the returned exit code. Some times "foo" does not exist and in this case I get an uncaught exception from the underlying readCreateProcessWithExitCode. That kind of contradicts to the documentation. So I was wondering what's behind of this design decision.
2022-08-16 23:02:55 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-16 23:03:24 +0200coot(~coot@213.134.176.158)
2022-08-16 23:03:32 +0200alp_(~alp@user/alp) (Ping timeout: 256 seconds)
2022-08-16 23:06:13 +0200 <geekosaur[m]> If you are assuming what the shell does is normal behavior, you should learn that the shell is manufacturing an error code because it has no other way to respond
2022-08-16 23:08:34 +0200 <geekosaur[m]> What you really get is return -1, errno ENOENT and that is always mapped to an exception in Haskell
2022-08-16 23:08:38 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net)
2022-08-16 23:09:17 +0200alp_(~alp@user/alp)
2022-08-16 23:09:21 +0200 <Sinbad> geekosaur[m]: I don't assume anything about the shell, this use spawn directly shell is not involved.
2022-08-16 23:09:36 +0200FurorColere
2022-08-16 23:09:43 +0200 <geekosaur[m]> (C return not a `waitpid()` result)
2022-08-16 23:12:00 +0200 <Sinbad> ???
2022-08-16 23:12:03 +0200zer0bitz(~zer0bitz@2001:2003:f748:2000:7d8c:cb4c:6f2b:60ad) (Ping timeout: 256 seconds)
2022-08-16 23:12:25 +0200ddellacosta(~ddellacos@143.244.47.100)
2022-08-16 23:14:38 +0200 <Sinbad> well I know what is happening, don't understand why was designed this way instead of just giving me the "posix_spawnp: does not exist..." exit code.
2022-08-16 23:16:02 +0200themc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-08-16 23:18:06 +0200coot(~coot@213.134.176.158) (Quit: coot)
2022-08-16 23:18:09 +0200 <qrpnxz> well, that's not an exit code :)
2022-08-16 23:19:50 +0200 <Sinbad> sure, hair splitting aside, ...
2022-08-16 23:20:53 +0200 <Sinbad> also, I understand that strictly the docs is talking about the exit code of the process created
2022-08-16 23:21:35 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 252 seconds)
2022-08-16 23:22:04 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-08-16 23:22:11 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds)
2022-08-16 23:22:36 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-16 23:23:17 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-16 23:23:21 +0200Vajb(~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8)
2022-08-16 23:24:59 +0200 <geekosaur> the hair you think we're splitting is the point here, though
2022-08-16 23:25:16 +0200jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2022-08-16 23:26:31 +0200gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-08-16 23:28:47 +0200king_gs(~Thunderbi@2806:103e:29:da7a:282e:1b4e:1ced:fb6f) (Ping timeout: 268 seconds)
2022-08-16 23:33:37 +0200Sinbad(~Sinbad@user/sinbad) (Quit: WeeChat 3.6)
2022-08-16 23:34:40 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2022-08-16 23:39:53 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-16 23:40:29 +0200stef204(~stef204@user/stef204)
2022-08-16 23:40:45 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-08-16 23:40:50 +0200king_gs(~Thunderbi@2806:103e:29:da7a:955f:c3b4:36c4:4b7d)
2022-08-16 23:41:23 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-08-16 23:42:27 +0200MajorBiscuit(~MajorBisc@46-229-126.internethome.cytanet.com.cy) (Ping timeout: 248 seconds)
2022-08-16 23:48:21 +0200lyle(~lyle@24.244.29.158) (Quit: WeeChat 3.6)
2022-08-16 23:48:45 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-08-16 23:49:25 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-08-16 23:49:30 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-08-16 23:49:46 +0200yvan-sraka(~yvan-srak@57.red-81-44-3.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-08-16 23:57:07 +0200matthewmosior(~matthewmo@173.170.253.91)