2022/09/12

2022-09-12 00:03:24 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 264 seconds)
2022-09-12 00:07:05 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-09-12 00:07:13 +0200son0p(~ff@181.136.122.143) (Ping timeout: 268 seconds)
2022-09-12 00:08:06 +0200hpc(~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 260 seconds)
2022-09-12 00:08:36 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2022-09-12 00:09:24 +0200acidjnk(~acidjnk@p200300d6e7137a337cc73d96aa12c516.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-09-12 00:09:54 +0200hpc(~juzz@ip98-169-32-242.dc.dc.cox.net)
2022-09-12 00:14:20 +0200aaronv(~aaronv@user/aaronv)
2022-09-12 00:14:37 +0200hpc(~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 268 seconds)
2022-09-12 00:15:32 +0200aaronv(~aaronv@user/aaronv) (Client Quit)
2022-09-12 00:15:53 +0200aaronv(~aaronv@user/aaronv)
2022-09-12 00:16:14 +0200Flonk(~Flonk@vps-zap441517-1.zap-srv.com)
2022-09-12 00:19:56 +0200Flonk(~Flonk@vps-zap441517-1.zap-srv.com) (Client Quit)
2022-09-12 00:21:06 +0200hpc(~juzz@ip98-169-32-242.dc.dc.cox.net)
2022-09-12 00:23:40 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
2022-09-12 00:35:09 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-09-12 00:36:47 +0200nate1(~nate@98.45.169.16)
2022-09-12 00:37:27 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-09-12 00:37:27 +0200avoniap(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-09-12 00:37:50 +0200Tuplanolla(~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.)
2022-09-12 00:41:45 +0200nate1(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-09-12 00:43:28 +0200jargon(~jargon@184.101.66.251)
2022-09-12 00:44:08 +0200Andrew(Andrew@user/AndrewYu)
2022-09-12 00:46:28 +0200econo(uid147250@user/econo)
2022-09-12 00:50:05 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-09-12 00:50:06 +0200avoniap(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-09-12 00:50:58 +0200nate1(~nate@98.45.169.16)
2022-09-12 00:58:54 +0200vglfr(~vglfr@145.224.94.221)
2022-09-12 00:59:42 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 244 seconds)
2022-09-12 01:02:39 +0200dsrt^(~dsrt@70.88.176.185) (Ping timeout: 265 seconds)
2022-09-12 01:02:58 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-09-12 01:07:41 +0200dsrt^(~dsrt@70.88.176.185)
2022-09-12 01:23:13 +0200dsrt^(~dsrt@70.88.176.185) (Ping timeout: 250 seconds)
2022-09-12 01:23:59 +0200adium(adium@user/adium)
2022-09-12 01:24:29 +0200 <jackdk> kaol: `join`, `(>>=)` and `(>=>)` can each be written in terms of the other. I found it instructive to do this when first coming to terms with Monads. That they aren't all in typeclass `Monad` is (at least for `join`) due to an unfortunate edge case in the roles system (it stops you being able to `deriving newtype Monad`)
2022-09-12 01:24:58 +0200mixfix41(~sdeny9ee@user/mixfix41)
2022-09-12 01:28:49 +0200dsrt^(~dsrt@70.88.176.185)
2022-09-12 01:35:45 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 01:41:55 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 01:43:59 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-09-12 01:49:00 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 264 seconds)
2022-09-12 02:01:35 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
2022-09-12 02:04:11 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-09-12 02:04:11 +0200califax(~califax@user/califx) (Read error: Connection reset by peer)
2022-09-12 02:04:11 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Read error: Connection reset by peer)
2022-09-12 02:04:11 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer)
2022-09-12 02:04:12 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Read error: Connection reset by peer)
2022-09-12 02:04:42 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-09-12 02:04:53 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-09-12 02:07:11 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-09-12 02:07:29 +0200califax(~califax@user/califx)
2022-09-12 02:08:46 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-09-12 02:08:55 +0200 <qrpnxz> i don't think there's value to having (>=>) in the type class. `join` would be nice (i feel like it could actually be taken advantage of, but i admit to not having a concrete example), but it has that deriving problem
2022-09-12 02:09:10 +0200mvk(~mvk@2607:fea8:5ce3:8500::875a)
2022-09-12 02:10:03 +0200 <geekosaur> the list monad is most naturally expressed in terms of fmap and join instead of bind
2022-09-12 02:10:18 +0200 <geekosaur> might come out faster unless ghc already optimizes it
2022-09-12 02:11:28 +0200 <qrpnxz> perhaps, but in terms of "natural expression", one could just do `ma >>= k = join (fmap k ma) where join = ...`. I'm more in particular wondering about an implementation of join that would be more efficient.
2022-09-12 02:14:06 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in)
2022-09-12 02:14:44 +0200 <qrpnxz> the reason it makes sense to me that join could be more optimal with a direct implementation is that it's not doing any mapping. On the other hand, you could say the same about `sequenceA` and i think it turns out it's actually better to implement `traverse` almost always if not always.
2022-09-12 02:14:47 +0200dsrt^(~dsrt@70.88.176.185) (Ping timeout: 250 seconds)
2022-09-12 02:15:17 +0200 <qrpnxz> but that about traverse i guess is only for implementing one in terms of the other. You can also implement both.
2022-09-12 02:16:07 +0200son0p(~ff@181.136.122.143)
2022-09-12 02:16:37 +0200 <qrpnxz> the only specialization of `join` i really know is `concat`, and i attribute that to historical reasons. So i have to wonder who is really benefiting from a custom `join` performance-wise?
2022-09-12 02:19:11 +0200 <jackdk> I wouldn't be surprised if one turns up in FRP somewhere, but I don't know enough to say
2022-09-12 02:23:54 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 02:24:27 +0200 <monochrom> Most people use >>=, so >>= is optimized.
2022-09-12 02:25:14 +0200 <monochrom> In the mirror universe, most people use fmap and join, so fmap, join, and their fusion are optimized. :)
2022-09-12 02:25:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-09-12 02:29:21 +0200 <EvanR> in the mirror universe haskell is based on comonads
2022-09-12 02:29:59 +0200 <EvanR> and we all have beards if we didn't already
2022-09-12 02:35:26 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2022-09-12 02:35:27 +0200avoniap(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2022-09-12 02:36:19 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 02:38:37 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 250 seconds)
2022-09-12 02:40:53 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 02:41:08 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 02:52:00 +0200[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-09-12 02:54:13 +0200mikoto-chan(~mikoto-ch@2001:999:785:4f1b:b7be:292b:cccf:9e61)
2022-09-12 02:54:46 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 265 seconds)
2022-09-12 03:02:09 +0200xff0x(~xff0x@2405:6580:b080:900:523c:c9d2:8a8:ac78) (Ping timeout: 244 seconds)
2022-09-12 03:04:30 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 03:05:27 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds)
2022-09-12 03:09:45 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds)
2022-09-12 03:11:11 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-09-12 03:16:01 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-09-12 03:17:18 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-09-12 03:19:31 +0200 <mjrosenb> do our mirror counterparts lack beards if we have them?
2022-09-12 03:24:10 +0200 <Axman6> the developers of CoHaskell have beards, but no bodiea
2022-09-12 03:24:13 +0200 <Axman6> bodies*
2022-09-12 03:26:21 +0200 <ddellacosta> ah yes this was the right time to come see what is going on in #haskell
2022-09-12 03:29:21 +0200pavonia(~user@user/siracusa)
2022-09-12 03:29:39 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2022-09-12 03:32:10 +0200tcard_(~tcard@p1773251-ipngn12801hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 268 seconds)
2022-09-12 03:33:20 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-09-12 03:33:57 +0200cpli(~cpli@77.47.62.180)
2022-09-12 03:36:10 +0200 <Axman6> ddellacosta: Are you a beardy weirdy or a bodily wobbly?
2022-09-12 03:36:13 +0200cpli(~cpli@77.47.62.180) (Quit: WeeChat 3.6)
2022-09-12 03:38:02 +0200tcard(~tcard@p1772079-ipngn12801hodogaya.kanagawa.ocn.ne.jp)
2022-09-12 03:39:00 +0200gmg(~user@user/gehmehgeh)
2022-09-12 03:42:00 +0200tcard_(~tcard@p1772079-ipngn12801hodogaya.kanagawa.ocn.ne.jp)
2022-09-12 03:43:30 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-09-12 03:44:54 +0200tcard(~tcard@p1772079-ipngn12801hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 268 seconds)
2022-09-12 03:49:02 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-09-12 03:49:34 +0200Feuermagier(~Feuermagi@user/feuermagier)
2022-09-12 03:50:32 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-09-12 03:56:28 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Quit: Leaving)
2022-09-12 03:59:58 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 04:02:58 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-09-12 04:03:00 +0200tcard(~tcard@p1772079-ipngn12801hodogaya.kanagawa.ocn.ne.jp)
2022-09-12 04:03:24 +0200tcard_(~tcard@p1772079-ipngn12801hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 265 seconds)
2022-09-12 04:08:17 +0200Zemyla(~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (Ping timeout: 244 seconds)
2022-09-12 04:11:13 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 04:16:13 +0200codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2022-09-12 04:16:32 +0200codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511)
2022-09-12 04:20:12 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 264 seconds)
2022-09-12 04:20:22 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-09-12 04:23:37 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 04:25:06 +0200Midjak(~Midjak@82.66.147.146)
2022-09-12 04:30:04 +0200[_](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-09-12 04:31:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-09-12 04:32:09 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 250 seconds)
2022-09-12 04:33:35 +0200td_(~td@94.134.91.155) (Ping timeout: 252 seconds)
2022-09-12 04:35:36 +0200td_(~td@94.134.91.96)
2022-09-12 04:42:59 +0200vglfr(~vglfr@145.224.94.221) (Ping timeout: 250 seconds)
2022-09-12 04:46:49 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-09-12 04:47:16 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
2022-09-12 04:51:15 +0200mixfix41(~sdeny9ee@user/mixfix41) (Ping timeout: 265 seconds)
2022-09-12 04:53:48 +0200 <qrpnxz> came up with a way to select class instances in a stack with proxies and INCOHERENT. Works just beautifully.
2022-09-12 04:54:18 +0200Guest20(~Guest20@bras-base-bmtnon1328w-grc-47-184-145-46-162.dsl.bell.ca) ()
2022-09-12 04:57:10 +0200jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
2022-09-12 05:00:00 +0200Taneb0(~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.)
2022-09-12 05:01:09 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2022-09-12 05:02:14 +0200vglfr(~vglfr@145.224.94.221)
2022-09-12 05:05:38 +0200AkechiShiro(~licht@user/akechishiro) (Ping timeout: 240 seconds)
2022-09-12 05:06:52 +0200AkechiShiro(~licht@user/akechishiro)
2022-09-12 05:19:19 +0200Guest74(~Guest74@199.101.192.40)
2022-09-12 05:20:29 +0200 <Guest74> O, another Haskell Channel. Hello Haskell :P
2022-09-12 05:21:16 +0200luffy(~chenqisu1@183.217.201.192)
2022-09-12 05:23:34 +0200ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 268 seconds)
2022-09-12 05:23:56 +0200luffy(~chenqisu1@183.217.201.192) (Max SendQ exceeded)
2022-09-12 05:24:37 +0200nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-09-12 05:25:47 +0200luffy(~chenqisu1@183.217.201.192)
2022-09-12 05:28:23 +0200 <Guest74> hey, how to write a takeWhile function?
2022-09-12 05:29:45 +0200mikoto-chan(~mikoto-ch@2001:999:785:4f1b:b7be:292b:cccf:9e61) (Ping timeout: 268 seconds)
2022-09-12 05:31:32 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-09-12 05:32:58 +0200Successus(~Successus@user/Successus) ()
2022-09-12 05:35:14 +0200 <Guest74> Can I do it as below?
2022-09-12 05:35:18 +0200 <Guest74> takeWhile' ::(a -> Bool) -> [a] ->[a]
2022-09-12 05:35:18 +0200 <Guest74> takeWhile' f [] = []
2022-09-12 05:35:19 +0200 <Guest74> takeWhile' f (x:xs) | not (f x) = []
2022-09-12 05:35:19 +0200 <Guest74>                     | otherwise = x : takeWhile' f xs
2022-09-12 05:36:58 +0200 <dolio> Yes.
2022-09-12 05:36:59 +0200mixfix41(~sdeny9ee@75-98-145-98.cpe.safelink.net)
2022-09-12 05:37:11 +0200mixfix41(~sdeny9ee@75-98-145-98.cpe.safelink.net) (Changing host)
2022-09-12 05:37:11 +0200mixfix41(~sdeny9ee@user/mixfix41)
2022-09-12 05:42:49 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 05:44:47 +0200 <Guest74> thanks. Don;t know how paste code style... hope it won't be trouble to read
2022-09-12 05:46:05 +0200notzmv(~zmv@user/notzmv)
2022-09-12 05:47:36 +0200 <pavonia> See topic
2022-09-12 05:47:59 +0200king_gs(~Thunderbi@2806:103e:29:1004:c2ae:c6b3:b9c2:8d75)
2022-09-12 05:48:01 +0200king_gs(~Thunderbi@2806:103e:29:1004:c2ae:c6b3:b9c2:8d75) (Client Quit)
2022-09-12 05:50:22 +0200nate1(~nate@98.45.169.16)
2022-09-12 05:51:06 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2022-09-12 05:53:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds)
2022-09-12 06:01:04 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
2022-09-12 06:03:02 +0200nate1(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-09-12 06:06:07 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds)
2022-09-12 06:09:16 +0200 <Axman6> @where paste
2022-09-12 06:09:17 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-09-12 06:09:50 +0200 <Axman6> Guest74: you can also avoid needing to use not by swapping the two equations for the cons case
2022-09-12 06:12:10 +0200haskell_is_no_ha(haskell_is@c-73-169-221-60.hsd1.wa.comcast.net)
2022-09-12 06:12:45 +0200 <haskell_is_no_ha> oh cool a haskell chat! I just got mIRC would this be a good place to ask haskell questions that I can't find the answers to online?
2022-09-12 06:12:56 +0200jargon(~jargon@184.101.66.251) (Remote host closed the connection)
2022-09-12 06:13:52 +0200 <Guest74> @qslHCylj
2022-09-12 06:13:52 +0200 <lambdabot> Unknown command, try @list
2022-09-12 06:16:13 +0200 <Guest74> still cannot get it for pasting code
2022-09-12 06:16:19 +0200 <jackdk> haskell_is_no_ha: Yes, absolutely.
2022-09-12 06:16:33 +0200 <jackdk> And welcome.
2022-09-12 06:17:08 +0200 <haskell_is_no_ha> Thanks! My particular question is I was wondering why the command [1,2] = [1,2,3] is a valid expression in haskell
2022-09-12 06:17:43 +0200 <pavonia> Guest74: You just paste the link to the code you pasted on that website here, like https://paste.tomsmeding.com/qslHCylj
2022-09-12 06:18:27 +0200 <Guest74> Okey, now I got it. thanks pavonia
2022-09-12 06:18:33 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-09-12 06:19:52 +0200 <Guest74> What wrong with this code https://paste.tomsmeding.com/qslHCylj ? My editor always told me is not completed, though the compilation works... should I add an otherwise branch?
2022-09-12 06:20:04 +0200 <jackdk> haskell_is_no_ha: in GHCi? When you write something like that, you're implicitly doing so in a `let` binding. Consider what happens when you write `[1, x, 3] = [1, 2, 3]`. Because Haskell is lazy, it won't actually try to pattern-match until you ask it to evaluate `x`:
2022-09-12 06:20:14 +0200 <jackdk> > [1, x, 3] = [1, 2, 3]
2022-09-12 06:20:16 +0200 <lambdabot> <hint>:1:11: error: parse error on input ‘=’
2022-09-12 06:20:26 +0200 <jackdk> okay lambdabot's doing something different, never mind
2022-09-12 06:20:29 +0200 <haskell_is_no_ha> oooo very interesting! I'll give it a try
2022-09-12 06:20:57 +0200 <jackdk> But if you write `[1, x, 3] = []`, GHCi will happily accept that, but will only error once you try to evaluate `x`
2022-09-12 06:21:19 +0200 <jackdk> What you wrote - `[1, 2] = [1, 2, 3]` introduces no new variables, so you don't have a way to force the RHS
2022-09-12 06:21:21 +0200 <haskell_is_no_ha> So it's all because haskell has lazy evaluation? That's so awesome
2022-09-12 06:23:03 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-09-12 06:23:16 +0200 <haskell_is_no_ha> I got x = 2 from that so I think I'm following, it's creating a symbolic link between a value in the first and a corresponding value in the second list in lexicographic order and only actually evaluates if the value is called, but if it's a number there's no need to evaluate so it doesn't find a syntax error in the first expression?
2022-09-12 06:23:42 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2022-09-12 06:24:42 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-09-12 06:24:50 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds)
2022-09-12 06:24:52 +0200 <jackdk> It's not a syntax error, it would be a pattern-match failure. Try putting `[1, x] = [2, 3]` into GHCi and evaluating `x`
2022-09-12 06:25:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-09-12 06:26:17 +0200nate1(~nate@98.45.169.16)
2022-09-12 06:31:00 +0200nate1(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-09-12 06:31:43 +0200 <haskell_is_no_ha> I'm getting non-exhaustive patterns in [1, x] I'm gonna see if I can understand what that means and get back to you. I see now how it's not a syntax error I think, that's because syntactically it works but it's only once you try and evaluate x it creates a pattern match failure?
2022-09-12 06:33:14 +0200 <haskell_is_no_ha> oh sorry didn't see you said more stuff
2022-09-12 06:37:41 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-09-12 06:37:54 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-09-12 06:38:48 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds)
2022-09-12 06:46:46 +0200luffy(~chenqisu1@183.217.201.192) (Ping timeout: 265 seconds)
2022-09-12 06:47:46 +0200 <Guest74> https://paste.tomsmeding.com/qslHCylj should I add an otherwise branch to suppress the warning that my editor emitted?
2022-09-12 06:50:34 +0200 <pavonia> What warning is that?
2022-09-12 06:51:01 +0200pieguy128_(~pieguy128@bras-base-mtrlpq5031w-grc-47-67-70-101-44.dsl.bell.ca)
2022-09-12 06:51:04 +0200 <c_wraith> presumably something about non-exhaustive branches.
2022-09-12 06:51:12 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-122.dsl.bell.ca) (Ping timeout: 268 seconds)
2022-09-12 06:51:16 +0200 <[Leary]> Guest74: GHC isn't smart enough to know that your code is complete. You should replace `odd n` with otherwise, since it's redundant anyway.
2022-09-12 06:51:16 +0200 <c_wraith> ghc isn't allowed to assume even and odd cover all cases
2022-09-12 06:52:04 +0200 <haskell_is_no_ha> OK so what I'm getting from reading stack overflow is that haskell wants to make sure that every possible way you could match any piece in the list is not going to generate an error. So if `[1, x] = [1, 1]` there's no exhaustive pattern-match failure because when you input `x` haskell is actually iterating through the list and creating separate commands `let 1 = 1` `let x = 1` which haskell
2022-09-12 06:52:04 +0200 <haskell_is_no_ha> has no problem with. But if I input `[1, x] = [2, 2]` then when I input `x` haskell is literally evaluating the commands `let 1 = 2` `let x = 2`. But when I try manually inputting those commands haskell seems absolutely fine with it? So I must be wrong
2022-09-12 06:52:52 +0200 <haskell_is_no_ha> I guess I don't understand properly what a pattern is, is that the right direction to look into? I'm very new to the language
2022-09-12 06:52:56 +0200 <c_wraith> haskell_is_no_ha: it's not doing the matches independently.
2022-09-12 06:53:17 +0200 <c_wraith> haskell_is_no_ha: if 1 doesn't match 2, the whole pattern fails
2022-09-12 06:53:49 +0200 <c_wraith> So it goes looking for the next one. and if there isn't one, it's a non-exhaustive pattern match failure
2022-09-12 06:53:53 +0200 <Guest74> pavonia, the warning: Pattern match(es) are non-exhaustive In an equation for ‘chain’ Patterns not matched: p where p is not one of {0, 1}compile(-Wincomplete-patterns); but this does not impact the function correctness...
2022-09-12 06:54:51 +0200 <Guest74> thanks [Leary] and c_wraith. Now I understood..
2022-09-12 06:55:42 +0200 <haskell_is_no_ha> So haskell is checking if 1 can equal 2, and if it doesn't it checks if the next entry in the list provides a valid RHS? I feel I'm still misunderstanding because that does not seem to be the case because I input `[1, x] = [2, 1, 2]` and get the same error.
2022-09-12 06:56:29 +0200 <haskell_is_no_ha> I think I just need to understand more what a pattern in haskell is, my bad
2022-09-12 06:56:45 +0200 <c_wraith> it's checking if the pattern [1, x] matches [2, 1, 2]. It doesn't, in two different ways. One, the length of the list is wrong. Two, the first element isn't 1
2022-09-12 06:56:57 +0200 <haskell_is_no_ha> ohhhhhh
2022-09-12 06:57:06 +0200 <haskell_is_no_ha> thanks so much! That clears up a lot
2022-09-12 06:57:16 +0200 <haskell_is_no_ha> Haskell is so dope haha
2022-09-12 06:57:29 +0200 <haskell_is_no_ha> I appreciate all the help :)
2022-09-12 06:57:56 +0200 <c_wraith> there's a lot to learn. don't worry about taking some time to pick it all up
2022-09-12 06:59:08 +0200 <c_wraith> Guest74: you should use otherwise for the second case. GHC's exhaustiveness checker doesn't do a whole lot of logic about guards.
2022-09-12 07:00:56 +0200 <haskell_is_no_ha> I'm excited to put in the time, I love putting time into this language because it's not going anywhere any time soon. Deep down whenever I do something like learning a framework in javascript I don't feel as much love for learning the small things about whatever framework I'm using because I know I probably won't be using the framework all that long or the framework itself will change, but
2022-09-12 07:00:56 +0200 <haskell_is_no_ha> I feel a different satisfaction in investing time in haskell stuff because the majority of it will likely stay the same for the rest of my natural life... or am I mistaken in that? like I said I'm a novice lol
2022-09-12 07:02:28 +0200 <Guest74> great, thanks a lot. It's syntax linting concern. now it's clear.
2022-09-12 07:03:17 +0200 <c_wraith> haskell_is_no_ha: well. Libraries might change in significant ways. Even the Prelude has had some significant changes. But the language underneath doesn't change, and usually it's easy to understand the changes when you understand the things the language does.
2022-09-12 07:04:57 +0200 <haskell_is_no_ha> So libraries are nice, but will change but the essential haskell paradigm I'm falling in love with won't be changing any time soon? I love that
2022-09-12 07:05:33 +0200Luj(~Luj@2a01:e0a:5f9:9681:bb9f:2ce5:c301:8e11) (Quit: Ping timeout (120 seconds))
2022-09-12 07:05:49 +0200Luj(~Luj@2a01:e0a:5f9:9681:b08d:568b:3590:6640)
2022-09-12 07:08:00 +0200 <c_wraith> Well. I should be more specific. The language has experiments happen a lot, but they're almost always behind extensions that are optional. The only "recent" exceptions I can think of are the removal of n+k patterns and data type contexts. And those were both a long time back, now.
2022-09-12 07:08:21 +0200 <c_wraith> Also, most people would have said you shouldn't use those anyway. :)
2022-09-12 07:09:24 +0200 <haskell_is_no_ha> Ah, thanks! Well thanks again for the help everyone I appreciate the time :) have a gn
2022-09-12 07:09:31 +0200haskell_is_no_ha(haskell_is@c-73-169-221-60.hsd1.wa.comcast.net) ()
2022-09-12 07:10:52 +0200haskell_is_no_ha(haskell_is@c-73-169-221-60.hsd1.wa.comcast.net)
2022-09-12 07:10:55 +0200haskell_is_no_ha(haskell_is@c-73-169-221-60.hsd1.wa.comcast.net) ()
2022-09-12 07:11:54 +0200haskell_is_no_ha(haskell_is@c-73-169-221-60.hsd1.wa.comcast.net)
2022-09-12 07:11:56 +0200haskell_is_no_ha(haskell_is@c-73-169-221-60.hsd1.wa.comcast.net) ()
2022-09-12 07:12:55 +0200vglfr(~vglfr@145.224.94.221) (Ping timeout: 250 seconds)
2022-09-12 07:16:11 +0200vglfr(~vglfr@145.224.94.221)
2022-09-12 07:16:52 +0200 <Guest74> http://lemonodor.com/images/functional-programming-is-beautiful-s.jpg
2022-09-12 07:17:34 +0200 <Guest74> Just for fun with above image.:P  my friends who are LISP programmers told me to stop learning Haskell. while I found it quite interesting.
2022-09-12 07:17:38 +0200 <jackdk> Just follow the rules and you'll be safe.
2022-09-12 07:22:31 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 07:27:31 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds)
2022-09-12 07:29:16 +0200Guest74(~Guest74@199.101.192.40) (Ping timeout: 252 seconds)
2022-09-12 07:32:54 +0200odnes(~odnes@5-203-159-70.pat.nym.cosmote.net)
2022-09-12 07:35:43 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-09-12 07:35:55 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in)
2022-09-12 07:35:59 +0200Guest|56(~Guest|56@157.37.222.240)
2022-09-12 07:36:08 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 258 seconds)
2022-09-12 07:37:58 +0200 <Guest|56> Hey, I am trying to compile wstunnel (https://github.com/erebe/wstunnel) for windows 32 bit. But the stack is giving an error that 7zip cannot extract downloaded ghc.
2022-09-12 07:38:18 +0200 <Guest|56> Any advice ?
2022-09-12 07:38:58 +0200mixfix41(~sdeny9ee@user/mixfix41) (Ping timeout: 265 seconds)
2022-09-12 07:39:52 +0200zxx7529(~Thunderbi@user/zxx7529) (Ping timeout: 268 seconds)
2022-09-12 07:43:53 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-09-12 07:46:28 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-09-12 07:49:09 +0200Guest|56(~Guest|56@157.37.222.240) (Quit: Connection closed)
2022-09-12 07:49:25 +0200Guest|56(~Guest|56@157.37.222.240)
2022-09-12 07:50:08 +0200Guest|56(~Guest|56@157.37.222.240) (Client Quit)
2022-09-12 08:00:14 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2022-09-12 08:07:21 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-09-12 08:17:16 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-09-12 08:18:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-09-12 08:21:26 +0200alternateved(~user@staticline-31-183-146-203.toya.net.pl)
2022-09-12 08:22:19 +0200mbuf(~Shakthi@195.69.96.100)
2022-09-12 08:22:27 +0200acidjnk(~acidjnk@p200300d6e7137a337cc73d96aa12c516.dip0.t-ipconnect.de)
2022-09-12 08:25:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-09-12 08:27:42 +0200moet(~moet@mobile-166-170-43-66.mycingular.net)
2022-09-12 08:28:52 +0200rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-09-12 08:30:58 +0200rembo10(~rembo10@main.remulis.com)
2022-09-12 08:36:35 +0200causal(~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.6)
2022-09-12 08:36:39 +0200moet(~moet@mobile-166-170-43-66.mycingular.net) (Quit: leaving)
2022-09-12 08:36:56 +0200moet(~moet@mobile-166-170-43-66.mycingular.net)
2022-09-12 08:39:55 +0200rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-09-12 08:42:04 +0200rembo10(~rembo10@main.remulis.com)
2022-09-12 08:42:16 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-09-12 08:42:16 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-09-12 08:42:52 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-09-12 08:43:17 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-09-12 08:43:30 +0200rembo10(~rembo10@main.remulis.com) (Client Quit)
2022-09-12 08:45:37 +0200rembo10(~rembo10@main.remulis.com)
2022-09-12 08:45:52 +0200rembo10(~rembo10@main.remulis.com) (Client Quit)
2022-09-12 08:46:31 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 250 seconds)
2022-09-12 08:47:59 +0200rembo10(~rembo10@main.remulis.com)
2022-09-12 08:48:40 +0200mc47(~mc47@xmonad/TheMC47)
2022-09-12 08:49:44 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 08:53:53 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 250 seconds)
2022-09-12 08:54:45 +0200raym(~raym@user/raym) (Ping timeout: 250 seconds)
2022-09-12 08:55:54 +0200raym(~raym@user/raym)
2022-09-12 08:58:48 +0200moet(~moet@mobile-166-170-43-66.mycingular.net) (Ping timeout: 268 seconds)
2022-09-12 08:59:12 +0200acidjnk(~acidjnk@p200300d6e7137a337cc73d96aa12c516.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-09-12 09:02:43 +0200dumptruckman(~dumptruck@23-239-13-163.ip.linodeusercontent.com) (Ping timeout: 252 seconds)
2022-09-12 09:03:12 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:c8da:110a:6c5c:2251)
2022-09-12 09:03:25 +0200dumptruckman(~dumptruck@23-239-13-163.ip.linodeusercontent.com)
2022-09-12 09:04:59 +0200acidjnk(~acidjnk@p200300d6e7137a337cc73d96aa12c516.dip0.t-ipconnect.de)
2022-09-12 09:08:41 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-09-12 09:11:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-09-12 09:13:01 +0200ft(~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: Lost terminal)
2022-09-12 09:15:08 +0200nate1(~nate@98.45.169.16)
2022-09-12 09:20:12 +0200nate1(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-09-12 09:22:03 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:915c:e798:bc42:9fe4)
2022-09-12 09:22:33 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:915c:e798:bc42:9fe4) (Client Quit)
2022-09-12 09:27:06 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-09-12 09:27:49 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-09-12 09:29:28 +0200nschoe(~quassel@178.251.84.79)
2022-09-12 09:30:59 +0200fraznel(~fuag1@c-73-221-56-19.hsd1.wa.comcast.net)
2022-09-12 09:32:07 +0200 <fraznel> ok, got some time to dig at the repro and the exception was coming from outside my handleAny :! safe-exceptions version and unliftio versions work great
2022-09-12 09:33:04 +0200razetime(~quassel@117.254.35.161)
2022-09-12 09:35:53 +0200 <fraznel> thanks to those that read my paste a couple days ago, turns out i wasn't guarding all functions that throw. user-error
2022-09-12 09:35:54 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:915c:e798:bc42:9fe4)
2022-09-12 09:36:14 +0200coot(~coot@213.134.176.158)
2022-09-12 09:36:16 +0200Guest74(~Guest74@199.101.192.40)
2022-09-12 09:40:51 +0200chimp_(~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Ping timeout: 252 seconds)
2022-09-12 09:44:08 +0200shriekingnoise(~shrieking@186.137.167.202) (Quit: Quit)
2022-09-12 09:47:03 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-09-12 09:47:36 +0200ccapndave(~ccapndave@xcpe-194-230-18-108.cgn.res.adslplus.ch)
2022-09-12 09:50:59 +0200fraznel(~fuag1@c-73-221-56-19.hsd1.wa.comcast.net) (Quit: Leaving)
2022-09-12 09:52:23 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2022-09-12 09:52:36 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 258 seconds)
2022-09-12 09:52:36 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2022-09-12 09:52:38 +0200Guest74(~Guest74@199.101.192.40) (Ping timeout: 252 seconds)
2022-09-12 09:56:56 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-09-12 09:59:12 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-09-12 10:00:31 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-09-12 10:03:32 +0200ccapndave(~ccapndave@xcpe-194-230-18-108.cgn.res.adslplus.ch) (Ping timeout: 268 seconds)
2022-09-12 10:03:33 +0200razetime(~quassel@117.254.35.161) (Ping timeout: 268 seconds)
2022-09-12 10:06:58 +0200fserucas|EoD(~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-09-12 10:07:21 +0200ccapndave(~ccapndave@xcpe-194-230-18-108.cgn.res.adslplus.ch)
2022-09-12 10:07:27 +0200ccapndave(~ccapndave@xcpe-194-230-18-108.cgn.res.adslplus.ch) ()
2022-09-12 10:07:59 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:7a13:a5eb:86df:9157)
2022-09-12 10:11:12 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-09-12 10:13:00 +0200fserucas|EoD(~fserucas|@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving)
2022-09-12 10:13:15 +0200fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-09-12 10:13:46 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
2022-09-12 10:18:24 +0200razetime(~quassel@117.254.35.161)
2022-09-12 10:19:00 +0200polykernel[m](~polykerne@user/polykernel) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200nomagno(~nomagno@2001:470:69fc:105::c1f0) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200elvishjerricco1(~elvishjer@2001:470:69fc:105::6172) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200mekeor[m](~mekeormat@2001:470:69fc:105::17e4) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200buster_blue[m](~busterblu@2001:470:69fc:105::1:d7e8) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200steve[m]1(~stevetrou@2001:470:69fc:105::e0b) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200cafkafk[m](~cafkafkma@2001:470:69fc:105::1:cea8) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:01 +0200ajf___[m](~ajfmatrix@2001:470:69fc:105::2:5be3) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200jean-paul[m](~jean-paul@2001:470:69fc:105::d1ab) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200duckie(~duckie@user/duckie) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200vladan[m](~vladanmat@2001:470:69fc:105::2:24df) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200romes[m](~romesmatr@2001:470:69fc:105::2:1660) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200jz99[m](~jz99matri@2001:470:69fc:105::1:d5f1) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200jinsun_(~jinsun@user/jinsun) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200ongy[m](~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200foghorn(~foghorn@user/foghorn) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200fgaz(~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200Killy(~killy@2001:470:69fc:105::2:6ec1) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200VarikValefor[m](~varikvale@2001:470:69fc:105::a5d) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200komikat[m](~komikatma@2001:470:69fc:105::1:c71e) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200famubu[m](~famubumat@2001:470:69fc:105::1081) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200zfnmxt(~zfnmxt@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200sektor[m](~sektor@2001:470:69fc:105::2:3f60) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200ormaaaj(~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200Clinton[m](~clintonme@2001:470:69fc:105::2:31d4) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200sibnull[m](~sibnullma@2001:470:69fc:105::1:1291) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:02 +0200jneira[m](~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200Matthew|m(~arathorn@2001:470:69fc:105::1f) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200Bulby[m](~bulbyvrma@2001:470:69fc:105::1:fe0a) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200pareto-optimal-d(~pareto-op@2001:470:69fc:105::1:b61f) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200ericson2314(~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200Deide(~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200JensPetersen[m](~juhp@2001:470:69fc:105::6e9) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200RowanG[m](~rowang077@2001:470:69fc:105::1:ca9f) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200kadoban1(~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200july541[m](~july541ma@2001:470:69fc:105::1:e416) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200Tisoxin(~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200sm(~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200fr33domlover[m](~fr33domlo@2001:470:69fc:105::1:3bb6) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200maralorn(~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:03 +0200schuelermine[m](~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200chreekat(~chreekat@2001:470:69fc:105::16b5) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200geekosaur[m](~geekosaur@xmonad/geekosaur) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200TravisAthougies[(~tathougie@2001:470:69fc:105::2:6fbd) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200aviladev[m](~aviladevm@2001:470:69fc:105::1:cbc7) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200siraben(~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200FurudeRika[m](~chitandae@2001:470:69fc:105::1:6039) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200unclechu(~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200crazazy[m](~crazazyma@2001:470:69fc:105::2:6bd9) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200kadenwolff[m](~kadenwolf@2001:470:69fc:105::1:d97f) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:04 +0200losfair[m](~losfairma@2001:470:69fc:105::2:7ca3) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:05 +0200weeezes[m](~weeezesma@2001:470:69fc:105::1:da65) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:08 +0200fendor[m](~fendormat@2001:470:69fc:105::fcbd) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:08 +0200jmcantrell(~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:08 +0200ilichu[m](~ilichumat@2001:470:69fc:105::2:6afb) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:08 +0200aaron[m]1234(~aaronvarg@2001:470:69fc:105::db5e) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:08 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:19:09 +0200peddie(~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
2022-09-12 10:23:42 +0200peddie(~peddie@2001:470:69fc:105::25d)
2022-09-12 10:35:56 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2022-09-12 10:35:57 +0200ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-09-12 10:35:57 +0200famubu[m](~famubumat@2001:470:69fc:105::1081)
2022-09-12 10:35:57 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2022-09-12 10:35:57 +0200buster_blue[m](~busterblu@2001:470:69fc:105::1:d7e8)
2022-09-12 10:35:57 +0200zfnmxt(~zfnmxt@2001:470:69fc:105::2b32)
2022-09-12 10:35:57 +0200sm(~sm@plaintextaccounting/sm)
2022-09-12 10:35:57 +0200ongy[m](~ongymatri@2001:470:69fc:105::5018)
2022-09-12 10:35:57 +0200Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8)
2022-09-12 10:35:57 +0200psydroid(~psydroid@user/psydroid)
2022-09-12 10:35:57 +0200july541[m](~july541ma@2001:470:69fc:105::1:e416)
2022-09-12 10:35:57 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-09-12 10:35:57 +0200ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-09-12 10:35:57 +0200siraben(~siraben@user/siraben)
2022-09-12 10:35:57 +0200fendor[m](~fendormat@2001:470:69fc:105::fcbd)
2022-09-12 10:35:57 +0200jmcantrell(~jmcantrel@user/jmcantrell)
2022-09-12 10:35:57 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2022-09-12 10:35:58 +0200jinsun_(~jinsun@user/jinsun)
2022-09-12 10:35:58 +0200romes[m](~romesmatr@2001:470:69fc:105::2:1660)
2022-09-12 10:35:58 +0200JensPetersen[m](~juhp@2001:470:69fc:105::6e9)
2022-09-12 10:35:58 +0200ormaaaj(~ormaaj@user/ormaaj)
2022-09-12 10:35:58 +0200chreekat(~chreekat@2001:470:69fc:105::16b5)
2022-09-12 10:35:58 +0200Deide(~deide@user/deide)
2022-09-12 10:35:58 +0200Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac)
2022-09-12 10:35:59 +0200jneira[m](~jneiramat@2001:470:69fc:105::d729)
2022-09-12 10:35:59 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-09-12 10:35:59 +0200Matthew|m(~arathorn@2001:470:69fc:105::1f)
2022-09-12 10:35:59 +0200RowanG[m](~rowang077@2001:470:69fc:105::1:ca9f)
2022-09-12 10:35:59 +0200Tisoxin(~ikosit@user/ikosit)
2022-09-12 10:35:59 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56)
2022-09-12 10:35:59 +0200Bulby[m](~bulbyvrma@2001:470:69fc:105::1:fe0a)
2022-09-12 10:36:00 +0200foghorn(~foghorn@user/foghorn)
2022-09-12 10:36:00 +0200unclechu(~unclechu@2001:470:69fc:105::354)
2022-09-12 10:36:00 +0200Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-09-12 10:36:04 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2022-09-12 10:36:04 +0200baaash[m](~baaashmat@2001:470:69fc:105::2:1e90)
2022-09-12 10:36:04 +0200geekosaur[m](~geekosaur@xmonad/geekosaur)
2022-09-12 10:36:04 +0200polykernel[m](~polykerne@user/polykernel)
2022-09-12 10:36:04 +0200elvishjerricco(~elvishjer@2001:470:69fc:105::6172)
2022-09-12 10:36:04 +0200sektor[m](~sektor@2001:470:69fc:105::2:3f60)
2022-09-12 10:36:04 +0200mekeor[m](~mekeormat@2001:470:69fc:105::17e4)
2022-09-12 10:36:04 +0200VarikValefor[m](~varikvale@2001:470:69fc:105::a5d)
2022-09-12 10:36:04 +0200duckie(~duckie@user/duckie)
2022-09-12 10:36:04 +0200nomagno(~nomagno@2001:470:69fc:105::c1f0)
2022-09-12 10:36:04 +0200jean-paul[m](~jean-paul@2001:470:69fc:105::d1ab)
2022-09-12 10:36:04 +0200kadenwolff[m](~kadenwolf@2001:470:69fc:105::1:d97f)
2022-09-12 10:36:04 +0200FurudeRika[m](~chitandae@2001:470:69fc:105::1:6039)
2022-09-12 10:36:04 +0200aviladev[m](~aviladevm@2001:470:69fc:105::1:cbc7)
2022-09-12 10:36:04 +0200jz99[m](~jz99matri@2001:470:69fc:105::1:d5f1)
2022-09-12 10:36:05 +0200fr33domlover[m](~fr33domlo@2001:470:69fc:105::1:3bb6)
2022-09-12 10:36:05 +0200vladan[m](~vladanmat@2001:470:69fc:105::2:24df)
2022-09-12 10:36:06 +0200kadoban(~kadoban@user/kadoban)
2022-09-12 10:36:06 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284)
2022-09-12 10:36:09 +0200Killy(~killy@2001:470:69fc:105::2:6ec1)
2022-09-12 10:36:09 +0200ajf___[m](~ajfmatrix@2001:470:69fc:105::2:5be3)
2022-09-12 10:36:11 +0200phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4)
2022-09-12 10:36:11 +0200SeanKing[m](~seankingm@2001:470:69fc:105::cf9c)
2022-09-12 10:36:12 +0200losfair[m](~losfairma@2001:470:69fc:105::2:7ca3)
2022-09-12 10:36:12 +0200sibnull[m](~sibnullma@2001:470:69fc:105::1:1291)
2022-09-12 10:36:12 +0200cafkafk[m](~cafkafkma@2001:470:69fc:105::1:cea8)
2022-09-12 10:36:13 +0200ilichu[m](~ilichumat@2001:470:69fc:105::2:6afb)
2022-09-12 10:36:15 +0200crazazy[m](~crazazyma@2001:470:69fc:105::2:6bd9)
2022-09-12 10:36:15 +0200Clinton[m](~clintonme@2001:470:69fc:105::2:31d4)
2022-09-12 10:36:17 +0200steve[m]12(~stevetrou@2001:470:69fc:105::e0b)
2022-09-12 10:36:24 +0200adziahel[m](~adziahelm@2001:470:69fc:105::b4d)
2022-09-12 10:36:24 +0200aaron[m](~aaronvarg@2001:470:69fc:105::db5e)
2022-09-12 10:36:24 +0200komikat[m](~komikatma@2001:470:69fc:105::1:c71e)
2022-09-12 10:36:24 +0200pareto-optimal-d(~pareto-op@2001:470:69fc:105::1:b61f)
2022-09-12 10:36:24 +0200sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8)
2022-09-12 10:36:24 +0200weeezes[m](~weeezesma@2001:470:69fc:105::1:da65)
2022-09-12 10:36:24 +0200TravisAthougies[(~tathougie@2001:470:69fc:105::2:6fbd)
2022-09-12 10:36:25 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2022-09-12 10:36:27 +0200schuelermine[m](~schuelerm@user/schuelermine)
2022-09-12 10:41:22 +0200sander(~sander@user/sander) (Ping timeout: 268 seconds)
2022-09-12 10:41:24 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:7a13:a5eb:86df:9157) (Ping timeout: 252 seconds)
2022-09-12 10:42:40 +0200Guest7486(~Guest74@199.101.192.40)
2022-09-12 10:43:42 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 10:51:04 +0200kuribas(~user@silversquare.silversquare.eu)
2022-09-12 10:51:47 +0200m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 248 seconds)
2022-09-12 10:53:39 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:4ed5:3b96:6d38:de9b)
2022-09-12 10:54:20 +0200m5zs7k(aquares@web10.mydevil.net)
2022-09-12 10:56:21 +0200Guest7486(~Guest74@199.101.192.40) (Quit: Ping timeout (120 seconds))
2022-09-12 11:00:48 +0200__monty__(~toonn@user/toonn)
2022-09-12 11:07:06 +0200gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-09-12 11:07:07 +0200avoniap(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-09-12 11:12:56 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:4ed5:3b96:6d38:de9b) (Ping timeout: 252 seconds)
2022-09-12 11:15:32 +0200[Leary](~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2022-09-12 11:21:56 +0200[Leary](~Leary]@user/Leary/x-0910699)
2022-09-12 11:24:06 +0200frost(~frost@user/frost)
2022-09-12 11:25:16 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:ffd5:3a6:559c:d04a)
2022-09-12 11:29:12 +0200mvk(~mvk@2607:fea8:5ce3:8500::875a) (Ping timeout: 264 seconds)
2022-09-12 11:29:15 +0200acidjnk(~acidjnk@p200300d6e7137a337cc73d96aa12c516.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-09-12 11:30:13 +0200luffy(~chenqisu1@183.217.201.192)
2022-09-12 11:36:48 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-09-12 11:37:40 +0200ccapndave(~ccapndave@mob-194-230-146-67.cgn.sunrise.net)
2022-09-12 11:39:49 +0200 <dminuoso> `Benchmark bench: ERROR`
2022-09-12 11:39:55 +0200 <dminuoso> What is criterion trying to tell me here?
2022-09-12 11:40:03 +0200monadplus[m](~monadplus@2001:470:69fc:105::2:5fa2)
2022-09-12 11:43:02 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:ffd5:3a6:559c:d04a) (Remote host closed the connection)
2022-09-12 11:44:12 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 11:48:31 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2022-09-12 11:50:51 +0200acidjnk(~acidjnk@p200300d6e7137a337cc73d96aa12c516.dip0.t-ipconnect.de)
2022-09-12 11:55:25 +0200Midjak(~Midjak@82.66.147.146)
2022-09-12 11:56:14 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-09-12 11:57:58 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:9840:3c29:b9c2:7150)
2022-09-12 11:58:09 +0200frost(~frost@user/frost)
2022-09-12 11:59:29 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:9840:3c29:b9c2:7150) (Remote host closed the connection)
2022-09-12 12:02:46 +0200Psybur(~Psybur@c-76-123-45-25.hsd1.va.comcast.net)
2022-09-12 12:02:49 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:9840:3c29:b9c2:7150)
2022-09-12 12:04:48 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 265 seconds)
2022-09-12 12:05:19 +0200yvan-sraka(~yvan-srak@2a02:2788:224:71c:9840:3c29:b9c2:7150) (Remote host closed the connection)
2022-09-12 12:05:58 +0200Guest10(~Guest10@136.125.252.27.dyn.cust.vf.net.nz)
2022-09-12 12:06:13 +0200Guest10(~Guest10@136.125.252.27.dyn.cust.vf.net.nz) (Client Quit)
2022-09-12 12:13:25 +0200cfricke(~cfricke@user/cfricke)
2022-09-12 12:16:32 +0200kuribas(~user@silversquare.silversquare.eu) (Read error: Connection reset by peer)
2022-09-12 12:16:48 +0200kuribas(~user@silversquare.silversquare.eu)
2022-09-12 12:17:59 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 250 seconds)
2022-09-12 12:19:11 +0200Guest|56(~Guest|56@157.37.216.223)
2022-09-12 12:20:18 +0200Guest|56(~Guest|56@157.37.216.223) (Client Quit)
2022-09-12 12:24:47 +0200tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2022-09-12 12:25:15 +0200tomboy64(~tomboy64@user/tomboy64)
2022-09-12 12:30:54 +0200zaquest(~notzaques@5.130.79.72) (Read error: Connection reset by peer)
2022-09-12 12:33:27 +0200 <dminuoso> Oh well, I think I figured it out. Segmentation faults. :>
2022-09-12 12:34:10 +0200 <dminuoso> tomsmeding: I did some thorough benchmarking by the way. Pretty printing domains with manual ByteArray# construction is *just* ~3 times slower than DList + text builder.
2022-09-12 12:34:23 +0200 <dminuoso> I was very surprised at how fast the latter is.
2022-09-12 12:35:31 +0200 <dminuoso> That is, generating a `DList Char` and feeding it into T.pack is that fast.
2022-09-12 12:36:46 +0200Guest7432(~Guest74@199.101.192.40)
2022-09-12 12:37:01 +0200 <dminuoso> https://gist.github.com/dminuoso/6b94b76bb6e52a6b6a5ca1b7a7842ef0
2022-09-12 12:37:09 +0200akegalj(~akegalj@93-139-138-144.adsl.net.t-com.hr)
2022-09-12 12:40:48 +0200 <__monty__> Am I misinterpreting these timings? μs are longer than ns, no?
2022-09-12 12:41:20 +0200 <dminuoso> Yes
2022-09-12 12:41:36 +0200 <dminuoso> Ah, I falsely wrote "slower" there. I meant faster.
2022-09-12 12:43:40 +0200Guest7432(~Guest74@199.101.192.40) (Quit: Ping timeout (120 seconds))
2022-09-12 12:45:01 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-09-12 12:45:35 +0200 <__monty__> Ah, right. But that is still fast considering the ease of use? Gotcha.
2022-09-12 12:45:43 +0200 <dminuoso> Roughly, in the slower code I use ShortByteString.unpack, a [Word8] -> [Char] function per domain label, wrap into `DList Char`, and then T.pack the string back into a Text.
2022-09-12 12:46:43 +0200 <dminuoso> In the faster code I figure out the needed bytearray buffer with a simple function that indexWord8Array# into the individual buffers in a first loop, construct a MutableByteArray# of required size, loop over the source ByteArray# again, poking bytes as needed.
2022-09-12 12:47:56 +0200 <__monty__> Is that relying on Text's internal representation?
2022-09-12 12:48:21 +0200 <dminuoso> Yes, but that's just a utf16/utf8 (depending on version) buffer
2022-09-12 12:48:25 +0200 <dminuoso> Nothing magical
2022-09-12 12:49:16 +0200 <dminuoso> Ill have to do some profiling why this is, but I suspect one reason why the primop code isnt much faster is because Im using boxed counters - so these tight loops presumably generate a lot of allocations
2022-09-12 12:50:06 +0200mbuf(~Shakthi@195.69.96.100) (Remote host closed the connection)
2022-09-12 12:50:33 +0200mbuf(~Shakthi@195.69.96.100)
2022-09-12 12:54:58 +0200acidjnk(~acidjnk@p200300d6e7137a337cc73d96aa12c516.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-09-12 13:04:49 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:915c:e798:bc42:9fe4) (Remote host closed the connection)
2022-09-12 13:11:20 +0200xff0x(~xff0x@2405:6580:b080:900:ea2b:58b2:8c6:e38)
2022-09-12 13:12:49 +0200coot(~coot@213.134.176.158) (Quit: coot)
2022-09-12 13:16:40 +0200nate1(~nate@98.45.169.16)
2022-09-12 13:17:00 +0200 <dminuoso> Profiling this is really hard, adding cost centers really ruins optimizations. :(
2022-09-12 13:18:09 +0200coot(~coot@213.134.176.158)
2022-09-12 13:18:33 +0200 <int-e> I suppose you could stare at core to see whether the compiler is unboxing your counters
2022-09-12 13:21:17 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-09-12 13:21:39 +0200nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-09-12 13:22:06 +0200coot(~coot@213.134.176.158) (Client Quit)
2022-09-12 13:25:11 +0200Guest74(~Guest74@199.101.192.40)
2022-09-12 13:30:29 +0200 <Guest74> Hi, is there any Haskell exercise for beginner to deepen the learning? I am studying the language and can understand every line of the tutorial, but I had certain feelings that I cannot code in Haskell, as I did not truly understand it...
2022-09-12 13:31:06 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:c141:4398:c271:7cbb)
2022-09-12 13:31:10 +0200acidjnk(~acidjnk@p200300d6e7137a33e53949f4ea831f05.dip0.t-ipconnect.de)
2022-09-12 13:31:14 +0200GowillaHeffalump
2022-09-12 13:31:20 +0200mbuf(~Shakthi@195.69.96.100) (Ping timeout: 265 seconds)
2022-09-12 13:31:24 +0200Heffalump(~ganesh@urchin.earth.li) ()
2022-09-12 13:34:22 +0200 <opqdonut> Guest74: my course haskell.mooc.fi has lots of exercises, with tests that tell you when you got it right
2022-09-12 13:34:22 +0200mbuf(~Shakthi@195.69.96.100)
2022-09-12 13:34:35 +0200 <opqdonut> it's completely open
2022-09-12 13:35:01 +0200 <opqdonut> you can browse the exercises here: https://github.com/moocfi/haskell-mooc/
2022-09-12 13:35:23 +0200 <opqdonut> programming tutorials without exercises are kinda useless IMO. you only learn by doing
2022-09-12 13:39:14 +0200lyle(~lyle@104.246.145.85)
2022-09-12 13:42:40 +0200titibandit(~titibandi@xdsl-85-197-3-115.nc.de)
2022-09-12 13:43:17 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 13:43:46 +0200 <Guest74> opqdonut, very good tutorial. I wish I could read them earlier. Anyway, not too later to restart learning it again with this great material.
2022-09-12 13:48:07 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 250 seconds)
2022-09-12 13:54:42 +0200 <dminuoso> int-e: Yeah it actually is. I think staring at the core output is my best bet here.
2022-09-12 13:55:00 +0200Guest74(~Guest74@199.101.192.40) (Ping timeout: 252 seconds)
2022-09-12 13:55:04 +0200 <dminuoso> Relatedly, where can I find the GHC documentation for `"foo"# :: Addr#` literals?
2022-09-12 13:56:38 +0200shriekingnoise(~shrieking@186.137.167.202)
2022-09-12 13:57:46 +0200 <Hecate> dminuoso: there is none, it's all in the parser
2022-09-12 13:57:54 +0200 <Hecate> I think I found it there some time ago
2022-09-12 13:57:59 +0200 <Hecate> might try to look for it again
2022-09-12 14:01:40 +0200 <dminuoso> Hecate: It's all in the lexer. :>
2022-09-12 14:02:35 +0200 <dminuoso> Seems to be just `Data.ByteString.Char8.pack` with Addr# pointing at the underlying ByteArray#
2022-09-12 14:02:41 +0200 <dminuoso> Thanks, that helped.
2022-09-12 14:05:11 +0200 <Hecate> dminuoso: well there's also a nice custom error message for the literals IIRC
2022-09-12 14:05:57 +0200 <Hecate> but I can't reproduce in GHCi, curse :(
2022-09-12 14:07:44 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-09-12 14:08:14 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f)
2022-09-12 14:12:44 +0200perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.6)
2022-09-12 14:16:30 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-09-12 14:19:26 +0200titibandit(~titibandi@xdsl-85-197-3-115.nc.de) (Remote host closed the connection)
2022-09-12 14:21:09 +0200Guest69(~Guest69@p200300ef97183588e35061ee4a6e9849.dip0.t-ipconnect.de)
2022-09-12 14:22:34 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-09-12 14:29:57 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f) (Ping timeout: 268 seconds)
2022-09-12 14:33:27 +0200xff0x(~xff0x@2405:6580:b080:900:ea2b:58b2:8c6:e38) (Ping timeout: 244 seconds)
2022-09-12 14:39:34 +0200akegalj(~akegalj@93-139-138-144.adsl.net.t-com.hr) (Quit: leaving)
2022-09-12 14:40:00 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 264 seconds)
2022-09-12 14:40:04 +0200 <dminuoso> Hecate: What do you mean by custom error message?
2022-09-12 14:40:07 +0200 <dminuoso> Under what condition?
2022-09-12 14:40:49 +0200 <dminuoso> Either way, I think unboxed string literals deserve a mention in the GHC manual. I shall amend it tomorrow.
2022-09-12 14:41:12 +0200acidjnk(~acidjnk@p200300d6e7137a33e53949f4ea831f05.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2022-09-12 14:41:57 +0200 <Hecate> dminuoso: if you put codepoints outside of ascii for a magic-hashed string literal, the frontend gives you a little surprise
2022-09-12 14:42:10 +0200 <Hecate> dminuoso: ping me on the MR plox :3
2022-09-12 14:42:26 +0200 <dminuoso> Judging from the lexer code, Im almost entirely convinced it couldnt produce such error messages.
2022-09-12 14:42:44 +0200 <dminuoso> Already at lexing time the buffer is fed through Data.ByteString.Char8.pack unchecked
2022-09-12 14:43:23 +0200 <geekosaur> but you can write one yourself
2022-09-12 14:43:36 +0200 <geekosaur> % :set -XMagicHash
2022-09-12 14:43:36 +0200 <yahb2> <interactive>:1:1: error: Not in scope: ‘Yahb2Defs.limitedPrint’
2022-09-12 14:43:43 +0200 <geekosaur> gah
2022-09-12 14:44:06 +0200 <geekosaur> @let {-# LANGUAGE MagicHash #-}
2022-09-12 14:44:07 +0200 <lambdabot> Defined.
2022-09-12 14:44:19 +0200 <geekosaur> > "☺"#
2022-09-12 14:44:20 +0200 <lambdabot> error:
2022-09-12 14:44:20 +0200 <lambdabot> primitive string literal must contain only characters <= '\xFF'
2022-09-12 14:44:25 +0200 <dminuoso> Mmm
2022-09-12 14:44:40 +0200xff0x(~xff0x@2405:6580:b080:900:ea2b:58b2:8c6:e38)
2022-09-12 14:45:01 +0200 <dminuoso> Ah, right. Its not unchecked. I did not catch that line
2022-09-12 14:45:46 +0200 <dminuoso> https://github.com/ghc/ghc/blob/master/compiler/GHC/Parser/Lexer.x#L2026-L2033
2022-09-12 14:46:42 +0200 <dminuoso> I was mostly just wondering what kind of memory buffer I would be getting, because it occured to me that if this was mapped into a `text` buffer, I might be getting an UTF16 buffer
2022-09-12 14:46:58 +0200 <dminuoso> (Though experiments suggested differently, I didnt feel like inferring from user experience)
2022-09-12 14:47:24 +0200 <Hecate> geekosaur: ah, thank you very much!!
2022-09-12 14:48:27 +0200luffy(~chenqisu1@183.217.201.192) (Ping timeout: 244 seconds)
2022-09-12 14:51:06 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-09-12 14:53:01 +0200tomboy64(~tomboy64@user/tomboy64)
2022-09-12 14:56:35 +0200acidjnk(~acidjnk@p200300d6e7137a33e53949f4ea831f05.dip0.t-ipconnect.de)
2022-09-12 14:58:11 +0200aaronv(~aaronv@user/aaronv)
2022-09-12 15:08:02 +0200ccapndave(~ccapndave@mob-194-230-146-67.cgn.sunrise.net) (Quit: Textual IRC Client: www.textualapp.com)
2022-09-12 15:17:06 +0200mbuf(~Shakthi@195.69.96.100) (Read error: Connection reset by peer)
2022-09-12 15:17:33 +0200mbuf(~Shakthi@195.69.96.100)
2022-09-12 15:26:18 +0200zaquest(~notzaques@5.130.79.72)
2022-09-12 15:28:36 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-09-12 15:40:40 +0200coot(~coot@213.134.176.158)
2022-09-12 15:41:01 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-09-12 15:41:20 +0200Guest69(~Guest69@p200300ef97183588e35061ee4a6e9849.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-09-12 15:44:43 +0200odnes(~odnes@5-203-159-70.pat.nym.cosmote.net) (Ping timeout: 265 seconds)
2022-09-12 15:45:28 +0200toeffel(~toeffel@user/toeffel)
2022-09-12 15:47:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 15:47:58 +0200Sgeo(~Sgeo@user/sgeo)
2022-09-12 15:51:09 +0200zer0bitz(~zer0bitz@2001:2003:f748:2000:b827:fc67:e7ff:2cf8)
2022-09-12 15:51:37 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-09-12 15:52:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2022-09-12 15:53:20 +0200perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-09-12 15:55:10 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f)
2022-09-12 15:57:13 +0200odnes(~odnes@5-203-159-70.pat.nym.cosmote.net)
2022-09-12 16:00:30 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 16:05:15 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 16:08:32 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f) (Ping timeout: 244 seconds)
2022-09-12 16:08:39 +0200califax(~califax@user/califx) (Ping timeout: 258 seconds)
2022-09-12 16:09:27 +0200yvan-sraka(~yvan-srak@109.190.253.15)
2022-09-12 16:10:17 +0200califax(~califax@user/califx)
2022-09-12 16:10:28 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds)
2022-09-12 16:11:28 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:c141:4398:c271:7cbb) (Quit: ccntrq)
2022-09-12 16:11:29 +0200ccntrq1(~Thunderbi@ip-037-201-230-229.um10.pools.vodafone-ip.de)
2022-09-12 16:12:19 +0200ccntrq1(~Thunderbi@ip-037-201-230-229.um10.pools.vodafone-ip.de) (Client Quit)
2022-09-12 16:14:22 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:5087:c30f:5ef6:ad86)
2022-09-12 16:17:29 +0200Zemyla(~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com)
2022-09-12 16:19:21 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
2022-09-12 16:21:25 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 16:24:04 +0200ccntrq(~Thunderbi@2a02:908:1d43:8ae0:5087:c30f:5ef6:ad86) (Quit: ccntrq)
2022-09-12 16:26:49 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 16:32:37 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2022-09-12 16:33:33 +0200razetime(~quassel@117.254.35.161) (Ping timeout: 265 seconds)
2022-09-12 16:33:39 +0200razetime_(~quassel@117.254.34.50)
2022-09-12 16:34:40 +0200coot(~coot@213.134.176.158) (Quit: coot)
2022-09-12 16:36:24 +0200yvan-sraka(~yvan-srak@109.190.253.15) (Remote host closed the connection)
2022-09-12 16:51:09 +0200toeffel(~toeffel@user/toeffel) (Ping timeout: 268 seconds)
2022-09-12 16:52:30 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-09-12 16:53:05 +0200mbuf(~Shakthi@195.69.96.100) (Quit: Leaving)
2022-09-12 16:54:56 +0200Pickchea(~private@user/pickchea)
2022-09-12 16:55:01 +0200thatcher(lp0@heathens.club) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-09-12 17:00:51 +0200marquis_andras(~marquis_a@27-33-131-201.tpgi.com.au) (Ping timeout: 248 seconds)
2022-09-12 17:04:19 +0200johnjaye(~pi@173.209.64.74) (Ping timeout: 268 seconds)
2022-09-12 17:04:30 +0200matthewmosior(~matthewmo@173.170.253.91) ()
2022-09-12 17:05:09 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:c8da:110a:6c5c:2251) (Quit: WeeChat 2.8)
2022-09-12 17:05:40 +0200johnjaye(~pi@173.209.64.74)
2022-09-12 17:07:53 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-09-12 17:08:00 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 17:10:07 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Client Quit)
2022-09-12 17:10:16 +0200johnjaye(~pi@173.209.64.74) (Ping timeout: 265 seconds)
2022-09-12 17:12:01 +0200johnjaye(~pi@173.209.64.74)
2022-09-12 17:13:35 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f)
2022-09-12 17:14:59 +0200zero(~z@user/zero)
2022-09-12 17:15:30 +0200coot(~coot@213.134.176.158)
2022-09-12 17:15:31 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (Ping timeout: 252 seconds)
2022-09-12 17:16:36 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 264 seconds)
2022-09-12 17:17:21 +0200zzz(~z@user/zero) (Ping timeout: 252 seconds)
2022-09-12 17:18:11 +0200nate1(~nate@98.45.169.16)
2022-09-12 17:19:44 +0200Colere(~colere@about/linux/staff/sauvin) (Ping timeout: 268 seconds)
2022-09-12 17:22:41 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-09-12 17:23:13 +0200nate1(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-09-12 17:23:53 +0200wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2022-09-12 17:25:05 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 17:26:15 +0200thyriaen(~thyriaen@2a02:8109:8340:686c:a19a:6d5a:d500:50cb)
2022-09-12 17:27:09 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-09-12 17:27:47 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-09-12 17:30:38 +0200Colere(~colere@about/linux/staff/sauvin)
2022-09-12 17:32:30 +0200marquis_andras(~marquis_a@27-32-242-122.tpgi.com.au)
2022-09-12 17:33:00 +0200Furor(~colere@about/linux/staff/sauvin)
2022-09-12 17:34:27 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-09-12 17:34:42 +0200aaronv(~aaronv@user/aaronv)
2022-09-12 17:35:12 +0200zerozzz
2022-09-12 17:35:46 +0200jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-09-12 17:36:21 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2022-09-12 17:36:24 +0200Colere(~colere@about/linux/staff/sauvin) (Ping timeout: 264 seconds)
2022-09-12 17:36:26 +0200califax(~califax@user/califx) (Ping timeout: 258 seconds)
2022-09-12 17:37:06 +0200mvk(~mvk@2607:fea8:5ce3:8500::875a)
2022-09-12 17:37:26 +0200califax(~califax@user/califx)
2022-09-12 17:39:24 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 264 seconds)
2022-09-12 17:40:45 +0200titibandit(~titibandi@xdsl-85-197-3-115.nc.de)
2022-09-12 17:42:14 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-09-12 17:44:54 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 18:00:33 +0200monadplus[m](~monadplus@2001:470:69fc:105::2:5fa2) (Quit: You have been kicked for being idle)
2022-09-12 18:00:38 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 244 seconds)
2022-09-12 18:06:03 +0200titibandit(~titibandi@xdsl-85-197-3-115.nc.de) (Quit: Leaving.)
2022-09-12 18:07:17 +0200Vajb(~Vajb@2001:999:251:6c46:af67:6433:cfc0:311b) (Read error: Connection reset by peer)
2022-09-12 18:08:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-09-12 18:09:51 +0200acidjnk(~acidjnk@p200300d6e7137a33e53949f4ea831f05.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-09-12 18:13:40 +0200toeffel(~toeffel@user/toeffel)
2022-09-12 18:17:33 +0200aaronv(~aaronv@user/aaronv)
2022-09-12 18:18:35 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 18:19:05 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 18:23:12 +0200nschoe(~quassel@178.251.84.79) (Ping timeout: 264 seconds)
2022-09-12 18:27:07 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 265 seconds)
2022-09-12 18:29:47 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 18:31:10 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 18:32:03 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-09-12 18:32:05 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 18:32:06 +0200matthewmosior(~matthewmo@173.170.253.91) (Read error: Connection reset by peer)
2022-09-12 18:32:12 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 18:33:38 +0200nate1(~nate@98.45.169.16)
2022-09-12 18:37:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-09-12 18:38:50 +0200kuribas(~user@silversquare.silversquare.eu) (Quit: ERC (IRC client for Emacs 26.3))
2022-09-12 18:39:20 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 18:40:02 +0200thyriaen(~thyriaen@2a02:8109:8340:686c:a19a:6d5a:d500:50cb) (Remote host closed the connection)
2022-09-12 18:40:20 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2022-09-12 18:45:51 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f) (Ping timeout: 268 seconds)
2022-09-12 18:46:45 +0200 <kaol> I know it's likely to be heavily in the obfuscated Haskell territory but has anyone had a use for the function instance of Kleisli arrow? A lovely little function with the type (b -> r -> c) -> (a -> r -> b) -> a -> r -> c.
2022-09-12 18:47:41 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-09-12 18:49:04 +0200 <c_wraith> I'm sure you could look at uses of Reader and find something that can be rewritten to use <=<
2022-09-12 18:50:14 +0200kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 268 seconds)
2022-09-12 18:50:34 +0200kritzefitz(~kritzefit@debian/kritzefitz)
2022-09-12 18:50:39 +0200Vajb(~Vajb@2001:999:251:6c46:af67:6433:cfc0:311b)
2022-09-12 18:50:46 +0200 <c_wraith> But as far as common silly tricks? I don't think it comes up.
2022-09-12 18:53:41 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-09-12 18:54:13 +0200hyperter(~hyperter@191.101.132.58)
2022-09-12 18:55:51 +0200hyperter46(~hyperter@191.101.132.58)
2022-09-12 18:55:51 +0200Vajb(~Vajb@2001:999:251:6c46:af67:6433:cfc0:311b) (Read error: Connection reset by peer)
2022-09-12 18:56:36 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-09-12 18:56:42 +0200 <kaol> I started exploring just what the function instances do and I could come up with example uses for anything but that.
2022-09-12 18:58:04 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-09-12 18:58:08 +0200hyperter46(~hyperter@191.101.132.58) (Client Quit)
2022-09-12 18:59:35 +0200quarkyalice(~quarkyali@user/quarkyalice)
2022-09-12 18:59:42 +0200hyperter(~hyperter@191.101.132.58) (Ping timeout: 252 seconds)
2022-09-12 19:00:32 +0200econo(uid147250@user/econo)
2022-09-12 19:00:59 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Ping timeout: 250 seconds)
2022-09-12 19:01:01 +0200Tuplanolla(~Tuplanoll@91-159-69-34.elisa-laajakaista.fi)
2022-09-12 19:03:07 +0200 <kaol> (<*>) f g x = f (g x) x, (=<<) f g x = f x (g x) and join f x = f x x are all reasonably useful functions to have.
2022-09-12 19:03:52 +0200Vajb(~Vajb@2001:999:251:6c46:af67:6433:cfc0:311b)
2022-09-12 19:04:32 +0200 <c_wraith> So here's the thing: I can see more uses for (r -> b -> c) -> (r -> a -> b) -> r -> a -> c
2022-09-12 19:05:20 +0200 <c_wraith> which is the same thing - except if you want that type, you'd need a bunch of flips to use it with <=< instead
2022-09-12 19:08:09 +0200acidjnk(~acidjnk@p200300d6e7137a30cd7d39b1b2511753.dip0.t-ipconnect.de)
2022-09-12 19:08:10 +0200 <c_wraith> like...
2022-09-12 19:08:11 +0200 <c_wraith> :t flip $ flip (M.!) <=< flip (M.!)
2022-09-12 19:08:12 +0200 <lambdabot> Ord c => M.Map c c -> c -> c
2022-09-12 19:09:03 +0200 <c_wraith> Ok, it's not an exact fit, because (M.!) is a function you really shouldn't be using
2022-09-12 19:10:01 +0200 <c_wraith> But other than that, it's actually practical
2022-09-12 19:10:28 +0200 <c_wraith> But it needs three flips to make the types line up
2022-09-12 19:10:54 +0200ph88(~ph88@ip5f5af71f.dynamic.kabel-deutschland.de)
2022-09-12 19:10:54 +0200 <c_wraith> Because of the influence of currying on argument order, I think that's going to be common
2022-09-12 19:11:04 +0200 <c_wraith> which makes that just... not so useful
2022-09-12 19:11:23 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 250 seconds)
2022-09-12 19:17:46 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Write error: Connection reset by peer)
2022-09-12 19:17:46 +0200califax(~califax@user/califx) (Read error: Connection reset by peer)
2022-09-12 19:17:46 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-09-12 19:17:46 +0200gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2022-09-12 19:17:46 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-09-12 19:17:46 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-09-12 19:17:46 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-09-12 19:18:10 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-09-12 19:18:12 +0200califax(~califax@user/califx)
2022-09-12 19:18:16 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-09-12 19:18:16 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-09-12 19:18:17 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-09-12 19:18:17 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-09-12 19:18:37 +0200gmg(~user@user/gehmehgeh)
2022-09-12 19:19:16 +0200 <[Leary]> That's the equivalent of Kleisli composition for Applicative, btw. If `Monad f` is just a `Category (Kleisli f)`, then `Applicative f` is just `Category c => Category (AppArr f c)` where `newtype AppArr f c a b = AppArr (f (c a b))`.
2022-09-12 19:19:48 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-09-12 19:20:41 +0200 <[Leary]> But I wonder why I only see Kleisly and Cokleisli arrows, no AppArr or `newtype FunArr f c a b = FunArr (c (f a) (f b))`.
2022-09-12 19:20:49 +0200 <[Leary]> Kleisli*
2022-09-12 19:21:35 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-09-12 19:21:42 +0200jargon(~jargon@184.101.186.15)
2022-09-12 19:22:36 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 264 seconds)
2022-09-12 19:23:29 +0200toeffel(~toeffel@user/toeffel) (Ping timeout: 268 seconds)
2022-09-12 19:23:59 +0200jonathanx__(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer)
2022-09-12 19:25:03 +0200 <kaol> Is there an coquip for comonads like "just a monoid in the category of endofunctors"?
2022-09-12 19:25:14 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-09-12 19:25:20 +0200 <dolio> They are comonoids.
2022-09-12 19:25:27 +0200 <monochrom> :)
2022-09-12 19:26:09 +0200 <kaol> Well of course.
2022-09-12 19:26:28 +0200rustisafungus(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2022-09-12 19:27:46 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 19:27:56 +0200 <c_wraith> comonoids make my head hurt
2022-09-12 19:28:15 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 19:28:40 +0200 <c_wraith> a -> (a, a) is... a difficult type to work with.
2022-09-12 19:28:48 +0200 <monochrom> kaol: Do you already know that "the function instance" (->) r is known as the covariant hom functor in category theory texts?
2022-09-12 19:29:14 +0200MoC(~moc@user/moc)
2022-09-12 19:29:58 +0200 <c_wraith> in particular, a -> (a, a) just has too many possible implementations. what is it that it actually should be doing?
2022-09-12 19:30:11 +0200rustisafungussegfaultfizzbuzz
2022-09-12 19:30:20 +0200 <monochrom> Hey! The diagonal functor D a = a -> (a,a) taught me everything I needed to know about the (->) Bool monad!
2022-09-12 19:30:52 +0200 <monochrom> But isn't \x -> (x,x) the only possible terminating implementation?
2022-09-12 19:30:56 +0200 <segfaultfizzbuzz> so i am on an up-to-date ubuntu install, i have installed build-essential, i have gcc installed, but when i cabal build a fresh project i get this error:
2022-09-12 19:30:56 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 19:31:01 +0200 <dolio> It's copying the input. You'd realize that's significant if you hadn't embraced the lies of non-linear logic.
2022-09-12 19:31:03 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 19:31:11 +0200 <segfaultfizzbuzz> error: cannot find -lgmp
2022-09-12 19:31:35 +0200odnes(~odnes@5-203-159-70.pat.nym.cosmote.net) (Remote host closed the connection)
2022-09-12 19:31:45 +0200 <monochrom> OK I embrace the lies of both non-linear logic and classical logic, yeah :)
2022-09-12 19:32:01 +0200 <EvanR> we should upgrade to the lies of linear logic
2022-09-12 19:32:02 +0200 <geekosaur> segfaultfizzbuzz, libgmp-dev
2022-09-12 19:32:02 +0200razetime_(~quassel@117.254.34.50) (Remote host closed the connection)
2022-09-12 19:32:06 +0200 <dolio> The other operation is discarding, which is also non-linear.
2022-09-12 19:32:41 +0200 <monochrom> If a linear-typed solution is sought for a->(a,a) then nevermind me!
2022-09-12 19:32:45 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-09-12 19:33:05 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-09-12 19:33:14 +0200 <c_wraith> oh. for a polymorphic type, yes. but I was thinking about the polytypic case, where it's a member of a Comonoid class
2022-09-12 19:33:14 +0200 <kaol> segfaultfizzbuzz: Many Haskell libraries use C libraries if you are building them yourself, you'll need to grab one if you see errors like that.
2022-09-12 19:33:14 +0200 <geekosaur> which is not part of build-essential because C doesn't support bignums directly, so doesn't need GMP
2022-09-12 19:33:21 +0200odnes(~odnes@5-203-159-70.pat.nym.cosmote.net)
2022-09-12 19:33:22 +0200 <dolio> And Russel's paradox is caused by all sets being comonoids in naive set theory.
2022-09-12 19:33:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-09-12 19:33:35 +0200 <monochrom> Ah Comonoid.
2022-09-12 19:33:54 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-09-12 19:34:02 +0200 <segfaultfizzbuzz> geekosaur: thanks... now i am fighting this linker error: undefined reference to 'tttzm0zi1zi0zi0zminplace_V2_zdtcV2_closure'
2022-09-12 19:34:18 +0200nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-09-12 19:34:46 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-09-12 19:35:02 +0200 <c_wraith> so like [a] -> ([a], [a])? even with an appeal to a law that it's an inverse of (++), it's severely underdefined.
2022-09-12 19:35:41 +0200 <dolio> It needs to be associative and have a unit.
2022-09-12 19:36:03 +0200odnes_(~odnes@5-203-159-70.pat.nym.cosmote.net)
2022-09-12 19:36:06 +0200 <dolio> It can only do one thing given the usual monoidal structure on sets/types.
2022-09-12 19:36:36 +0200 <monochrom> So, even with Monoid, even with Bool being an instance, you have like at least 4 choices for what <> does. It is almost always a given that there is a lot of freedom.
2022-09-12 19:36:41 +0200 <geekosaur> sounds like you forgot to add a file to one of exposed-modules/other-modules
2022-09-12 19:36:59 +0200 <monochrom> Only Functor and sometimes Monad are such that there is at most 1 solution.
2022-09-12 19:37:03 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 252 seconds)
2022-09-12 19:37:10 +0200 <geekosaur> (the "zminplace" tells me this is part of the module you're trying to build/link)
2022-09-12 19:38:10 +0200odnes(~odnes@5-203-159-70.pat.nym.cosmote.net) (Ping timeout: 265 seconds)
2022-09-12 19:38:47 +0200 <sm> g'day all. libera -> matrix bridging is working again after a multi-day outage
2022-09-12 19:38:53 +0200 <segfaultfizzbuzz> geekosaur: ok that turned out to be correct but (1) gosh this could have been a much better error message and (2) i'm not using that module in my Main.hs
2022-09-12 19:38:54 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds)
2022-09-12 19:39:33 +0200quarkyalice(~quarkyali@user/quarkyalice) (Quit: quarkyalice)
2022-09-12 19:39:36 +0200 <segfaultfizzbuzz> like, i think that module is internal to one of my library source files
2022-09-12 19:40:12 +0200quarkyalice(~quarkyali@user/quarkyalice)
2022-09-12 19:40:16 +0200 <segfaultfizzbuzz> sm: so basically you are saying that we are being jacked in to the matrix today?
2022-09-12 19:40:21 +0200 <geekosaur> you might think about how that error message could be made any better. (generally, it can't as only the linker knows it's needed and the linker doesn't speak Haskell, it speaks C)
2022-09-12 19:40:50 +0200 <sm> jacked back in after a temporary outage caused by Agents, yes
2022-09-12 19:41:26 +0200 <geekosaur> a whole-program compiler could produce better errors, but it could generally also only handle very simple programs unless you had a *lot* of memory
2022-09-12 19:43:05 +0200 <monochrom> Hey even with [a] you can make a Monoid with xs<>ys = ys++xs, too.
2022-09-12 19:44:56 +0200quarkyalice(~quarkyali@user/quarkyalice) (Ping timeout: 265 seconds)
2022-09-12 19:46:59 +0200odnes_(~odnes@5-203-159-70.pat.nym.cosmote.net) (Quit: Leaving)
2022-09-12 19:48:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 19:49:27 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 258 seconds)
2022-09-12 19:49:29 +0200 <c_wraith> > let insertTwice a b = flip $ flip (M.insert a) <=< flip (M.insert b) in insertTwice 1 2 'a' M.empty -- kaol: here you go. contrived as heck, but it doesn't use unsafe functions!
2022-09-12 19:49:30 +0200 <lambdabot> fromList [(1,'a'),(2,'a')]
2022-09-12 19:50:27 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-09-12 19:53:05 +0200ph88(~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2022-09-12 19:54:21 +0200 <c_wraith> but yeah. I'm sticking with (<=<) having the wrong argument order to be really useful with the function instance
2022-09-12 19:57:23 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 248 seconds)
2022-09-12 19:57:35 +0200coot(~coot@213.134.176.158) (Quit: coot)
2022-09-12 19:58:47 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 19:59:13 +0200 <mjrosenb> so, is anyone familiar with ghcjs, and why it would appear to produce a stack overflow when I try to link some programs?
2022-09-12 20:00:20 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-09-12 20:00:51 +0200robosexual(~robosexua@2a02:2698:182b:1804::e04)
2022-09-12 20:01:18 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Client Quit)
2022-09-12 20:01:37 +0200gay9(~quassel@94-168-123-190.static.v4.ziggozakelijk.nl) (Ping timeout: 252 seconds)
2022-09-12 20:02:07 +0200gay9(~quassel@92-65-73-218.biz.kpn.net)
2022-09-12 20:02:28 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-09-12 20:03:10 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net)
2022-09-12 20:05:24 +0200nate1(~nate@98.45.169.16)
2022-09-12 20:06:43 +0200ph88(~ph88@2a02:8109:9e00:71d0:3578:dbbf:f7b2:91f0)
2022-09-12 20:06:51 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-09-12 20:06:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 20:07:08 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-09-12 20:09:20 +0200 <gay9> https://wiki.haskell.org/Applications_and_libraries/GUI_libraries#FranTk
2022-09-12 20:09:20 +0200 <gay9> fortunately it's not disappeared: https://distcache.freebsd.org/ports-distfiles/FranTk1_1.tar.gz https://web.archive.org/web/20040315212530/http://www.dcs.gla.ac.uk/~meurig/FranTk/
2022-09-12 20:09:36 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 20:09:37 +0200 <gay9> as a bonus https://web.archive.org/web/20070204071125/http://www.dcs.gla.ac.uk/~meurig/TclHaskell/
2022-09-12 20:10:05 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 20:11:02 +0200nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-09-12 20:12:03 +0200 <mjrosenb> oh... I had to bump the memory that ghc was allowed to use
2022-09-12 20:12:07 +0200 <mjrosenb> 1 gig wasn't enough
2022-09-12 20:12:11 +0200 <mjrosenb> 4 gigs was?
2022-09-12 20:12:12 +0200 <gay9> both of those are too old to build with modern ghc of course (does it really support haskell98, haskell2010 and haskell2020 standards?), but it's not late to revive those
2022-09-12 20:12:40 +0200 <mjrosenb> this is not distressing at all
2022-09-12 20:12:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-09-12 20:12:44 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 20:12:50 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 20:14:14 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 20:14:40 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 20:15:37 +0200robosexual(~robosexua@2a02:2698:182b:1804::e04) (Quit: WeeChat 3.6)
2022-09-12 20:15:53 +0200 <monochrom> mjrosenb: Even with x86-64 GHC, sometimes 1G is not enough either, I have seen it wanting 2G.
2022-09-12 20:16:50 +0200 <monochrom> This depends on what is being compiled of course. IIRC when building some hardcore libraries such as vector.
2022-09-12 20:18:03 +0200 <mjrosenb> this is using uhhh.... miso, and commonmark
2022-09-12 20:19:16 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 265 seconds)
2022-09-12 20:19:43 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 20:20:14 +0200 <monochrom> gay9: Haskell2020 does not exist. Modern GHC supports Haskell2010. It also supports Haskell98 minus old module names such as List and Monad.
2022-09-12 20:20:35 +0200LukeHoersten(~LukeHoers@user/lukehoersten)
2022-09-12 20:20:53 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-09-12 20:21:07 +0200 <monochrom> However, the compiler is the least of the problem. An old library demands other old libraries. That's the realy problem.
2022-09-12 20:21:17 +0200 <mjrosenb> The html in this manual was created with Microsoft Word, and so has some Microsoft specific stuff in it
2022-09-12 20:21:20 +0200 <mjrosenb> lol.
2022-09-12 20:21:24 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 264 seconds)
2022-09-12 20:22:08 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-09-12 20:22:18 +0200 <monochrom> The Word team is incompetent.
2022-09-12 20:24:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-09-12 20:26:18 +0200 <gay9> monochrom: I've seen `haskell98`, `haskell2010` and `haskell2020` packages on hackage and they all cannot be build because they demand old `base` package, so if there are packages that use only what's available in Haskell98/Haskell2010 then which versions of libraries built into ghc they need to state in *.cabal or stack.yaml files to make sure they'll always build?
2022-09-12 20:27:49 +0200 <gay9> libraries break compatibility too often to be able to keep up
2022-09-12 20:27:53 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-09-12 20:28:29 +0200 <davean> IME the "compatibility breaks" are rare and usually trivial
2022-09-12 20:29:29 +0200 <davean> I updated something from GHC 8.6.5 to 9.4 Friday and it took less than 2 hours, most of that setup time and dealing with the fact I didn't remember the project at all.
2022-09-12 20:29:37 +0200 <monochrom> I have a feeling that those packages are for the record rather than for actual use.
2022-09-12 20:30:34 +0200 <davean> There was one major change related to 'random' which caused nock-on changes to RVar but it made the overall code in my project better
2022-09-12 20:31:17 +0200kenran(~kenran@200116b82bde560072acad36e385acc4.dip.versatel-1u1.de)
2022-09-12 20:31:47 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2022-09-12 20:32:19 +0200coot(~coot@213.134.176.158)
2022-09-12 20:33:10 +0200aaronv(~aaronv@user/aaronv)
2022-09-12 20:33:13 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-09-12 20:33:24 +0200 <davean> So thats a minimum of 3 years of updates for like a 10k LOC project with over 50 direct dependencies, and if I can't spend less than an hour a year average updating it, well how useful could it be?
2022-09-12 20:34:32 +0200 <davean> (and its more likely it was 4 years because 8.6.1 came out a lot longer ago)
2022-09-12 20:34:50 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-09-12 20:35:12 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-09-12 20:36:07 +0200 <monochrom> I argue that "what to state in *.cabal or stack.yaml for only haskell98 or haskell2010" is an oxymoron.
2022-09-12 20:36:09 +0200nate1(~nate@98.45.169.16)
2022-09-12 20:36:41 +0200 <monochrom> Haskell2010 does not specify *.cabal, stack.yaml, the package name "base", or any notion of package at all.
2022-09-12 20:37:22 +0200ph88(~ph88@2a02:8109:9e00:71d0:3578:dbbf:f7b2:91f0) (Quit: Leaving)
2022-09-12 20:37:36 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
2022-09-12 20:37:40 +0200 <gay9> so, in that case they simply don't state any dependencies?
2022-09-12 20:38:00 +0200 <geekosaur> ??
2022-09-12 20:38:01 +0200 <monochrom> You can depend on base.
2022-09-12 20:38:24 +0200 <monochrom> This is evolving into an XY problem.
2022-09-12 20:38:58 +0200 <monochrom> "There is an old library I want to build today. I think this problem can be solved by requiring people to stick to Haskell2010."
2022-09-12 20:39:20 +0200 <monochrom> Not going to happen.
2022-09-12 20:39:29 +0200 <gay9> that's not what I said
2022-09-12 20:39:31 +0200 <geekosaur> I'm not even convinced they know what they're talking about…
2022-09-12 20:39:41 +0200 <geekosaur> confusing a language level with libraries
2022-09-12 20:39:41 +0200raym(~raym@user/raym) (Remote host closed the connection)
2022-09-12 20:40:13 +0200 <monochrom> You have FranTk, you examine what actual incompatibility is with today's ecosystem, you fix exactly that, not any more general problem.
2022-09-12 20:41:12 +0200 <monochrom> geekosaur: I wish I could say that. Except that https://hackage.haskell.org/package/haskell2020 actually exists. That is going to be confusing.
2022-09-12 20:41:12 +0200nate1(~nate@98.45.169.16) (Ping timeout: 264 seconds)
2022-09-12 20:42:37 +0200 <geekosaur> I have trouble treating that as anything but someone's wishful thinking, since there is no such thing as haskell2020 and we knew that back in 2017
2022-09-12 20:42:41 +0200 <gay9> plus `haskell98` and `haskell2010` packages just like `base` are maintained by libraries@haskell.org but they depend on old `base`
2022-09-12 20:43:09 +0200 <monochrom> Well, that would be hvr's wishful thinking, and it's as late as 2018 haha.
2022-09-12 20:43:10 +0200 <gay9> https://hackage.haskell.org/package/haskell98 https://hackage.haskell.org/package/haskell2010
2022-09-12 20:43:22 +0200 <geekosaur> \and in any case I don't think any of them are relevant. base is relevant. I'[m betting I can;t find any packages that depend on any of your boojums
2022-09-12 20:44:11 +0200 <monochrom> That's why I believe that those packages are just for the record.
2022-09-12 20:44:29 +0200raym(~raym@user/raym)
2022-09-12 20:44:30 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-09-12 20:44:35 +0200 <davean> geekosaur: its just a typo, its supposed to be haskell2030
2022-09-12 20:44:45 +0200 <monochrom> If one day someone reads the Haskell2010 Report and then ask "where can I see sample code for Prelude" you can point them to that hackage URL.
2022-09-12 20:44:57 +0200 <monochrom> Apart from that, no one actually uses it.
2022-09-12 20:45:20 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-09-12 20:45:23 +0200 <geekosaur> actually packdeps says there's 7 users of haskell2010 and 213 users of haskell98
2022-09-12 20:45:30 +0200 <geekosaur> color me surprised either is used
2022-09-12 20:45:40 +0200 <geekosaur> but especially haskell2010
2022-09-12 20:45:54 +0200 <monochrom> Yeah haskell98 was actually useful for a little while during the transition from "import List" to "import Data.List".
2022-09-12 20:46:26 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 20:46:29 +0200 <geekosaur> ah, backward compat packages
2022-09-12 20:46:36 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2022-09-12 20:46:43 +0200 <geekosaur> so, no reason for either to be used in 2022
2022-09-12 20:46:56 +0200 <monochrom> Because if you didn't want to bother to change your import line, GHC offered the haskell98 package you can add to your *.cabal "depends:", and then you could keep your "import List".
2022-09-12 20:47:35 +0200 <gay9> `import package` instead of `import Module` would be a great compatibility breaking improvement, considering there are packages that can't coexists because of naming conflicts
2022-09-12 20:47:50 +0200 <geekosaur> PackageImports extension
2022-09-12 20:47:56 +0200 <monochrom> But the haskell2010 package was never even advertised at all. By that time every Haskell2010 users used base.
2022-09-12 20:48:06 +0200Lord_of_Life_Lord_of_Life
2022-09-12 20:48:22 +0200 <monochrom> Consider the fact that even GHC didn't come with it.
2022-09-12 20:48:54 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-09-12 20:49:23 +0200 <davean> gay9: we have that ...
2022-09-12 20:49:32 +0200 <davean> gay9: its not compatability breaking?
2022-09-12 20:50:00 +0200 <monochrom> See? This is really the XY problem I described, despite denial.
2022-09-12 20:50:01 +0200jakalx(~jakalx@base.jakalx.net)
2022-09-12 20:50:30 +0200 <davean> Yes, very much it is
2022-09-12 20:50:53 +0200 <monochrom> "I just want to build FranTk. I think it can be solved by demanding you people to improve backward compatibility."
2022-09-12 20:51:08 +0200 <davean> I bet I could build FranTk right now
2022-09-12 20:51:09 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 265 seconds)
2022-09-12 20:51:28 +0200 <monochrom> Either that or they didn't really want to compile anything, they just want to complain about incompatibility.
2022-09-12 20:51:39 +0200 <geekosaur> they must hate go
2022-09-12 20:51:48 +0200 <geekosaur> or rust for that matter
2022-09-12 20:52:11 +0200 <davean> Did they say why they wanted to build FranTk BTW?
2022-09-12 20:52:42 +0200 <geekosaur> not that I saw
2022-09-12 20:52:50 +0200 <davean> Its a very weird thing to want to build
2022-09-12 20:53:01 +0200 <geekosaur> just opened with pointers to it as if they were doing a public service
2022-09-12 20:53:18 +0200 <monochrom> FranTk contained interesting ideas that I can respect someone being interested in it.
2022-09-12 20:53:39 +0200 <gay9> besides those ideas I really like Tcl/Tk
2022-09-12 20:53:54 +0200 <monochrom> Although I'm disgusted by the prospect of getting Tk involved.
2022-09-12 20:55:50 +0200 <monochrom> I accepted Tk for a little while when I was learning OCaml and its only GUI option was OCamlTk or something.
2022-09-12 20:57:17 +0200 <davean> It looks like frantk was last updated on 20 September 1999
2022-09-12 20:57:47 +0200 <monochrom> Hell, s/accepted/made peace with/ # As Cersei Lannister evilly points out, you make peace with only your enemies.
2022-09-12 20:58:20 +0200LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-09-12 20:58:44 +0200 <davean> It looks like the bigger issue than Haskell is TCL
2022-09-12 20:58:52 +0200 <monochrom> heh
2022-09-12 20:58:53 +0200 <davean> (and system headers)
2022-09-12 20:58:55 +0200 <darkling> Tk is one of two windowing APIs I've ever got on with. (The other is RiscOS)
2022-09-12 20:59:05 +0200 <davean> the Haskell part of the code looks close to building
2022-09-12 20:59:12 +0200 <davean> I'm not sure I can fix the TCL part
2022-09-12 20:59:14 +0200 <davean> IRONY
2022-09-12 20:59:28 +0200 <monochrom> Just add more spaces? >:)
2022-09-12 21:00:18 +0200gay9(~quassel@92-65-73-218.biz.kpn.net) (Ping timeout: 268 seconds)
2022-09-12 21:00:20 +0200 <monochrom> OK nevermind that.
2022-09-12 21:00:42 +0200 <davean> No, the TCL libraries are too drifted to link and such, and I can't build the 1999 version of TCL on a modern system
2022-09-12 21:00:44 +0200gay9(~quassel@94-168-123-190.static.v4.ziggozakelijk.nl)
2022-09-12 21:00:47 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 21:00:50 +0200 <davean> I've built some of the haskell code without any issue
2022-09-12 21:00:59 +0200 <davean> (or just renaming imports)
2022-09-12 21:01:37 +0200 <gay9> davean: thanks for extension, but I remember cabal failing to install packages that have modules with same names, making it impossible for them to coexist
2022-09-12 21:01:44 +0200 <davean> There is a SMALL Haskell problem with the StgTSO reference, but I think that code will still work
2022-09-12 21:01:53 +0200 <gay9> so removing `import Module` entirely would allow such packages to coexist
2022-09-12 21:01:54 +0200 <davean> gay9: nope
2022-09-12 21:02:01 +0200 <davean> gay9: you're just wrong and ignorant
2022-09-12 21:02:16 +0200 <davean> Thats never been the case, the issue only occures at import and there is a syntax to disambiguate it
2022-09-12 21:02:38 +0200 <davean> import "package"
2022-09-12 21:03:15 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-09-12 21:04:44 +0200 <gay9> I can't remember which exactly packages I tried to installed, but error from cabal was like "can't install packagex because ModuleW is provided by packagey"
2022-09-12 21:04:51 +0200Guest1698(~Guest1698@20.83.116.49) (Remote host closed the connection)
2022-09-12 21:05:02 +0200 <davean> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/package_qualified_imports.html
2022-09-12 21:05:12 +0200 <gay9> that literally was caused by running `cabal install packagey` and then `cabal install packagex`
2022-09-12 21:05:14 +0200nate1(~nate@98.45.169.16)
2022-09-12 21:05:25 +0200Guest1698(~Guest1698@20.83.116.49)
2022-09-12 21:05:34 +0200 <davean> also https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#package-thinning-and-renaming
2022-09-12 21:05:38 +0200 <davean> depending on how you want to deal with it
2022-09-12 21:06:04 +0200 <davean> gay9: so you could get an issue with ghc-pkg not with cabal
2022-09-12 21:06:30 +0200 <davean> cabal can't know enough about whats in a package to have this issue
2022-09-12 21:06:39 +0200 <davean> cabal just builds things
2022-09-12 21:07:43 +0200 <davean> runnign the cabal command might cause the problem to be encountered but the issue isn't ever at the cabal level
2022-09-12 21:07:50 +0200 <davean> because cabal is more like make
2022-09-12 21:09:02 +0200python476(~user@88.160.31.174)
2022-09-12 21:10:06 +0200olle(~olle@i5E866D81.versanet.de)
2022-09-12 21:10:29 +0200nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-09-12 21:10:52 +0200 <olle> I'm making a transpiler from <source lang> to C. I'd like to represent kinds of types in the syntax tree, like some are value types that can be copied (int and some structs), others are reference types.
2022-09-12 21:11:03 +0200 <gay9> in that case ghc-pkg is like trying use C headers defining variables/functions/constant with same name?
2022-09-12 21:11:43 +0200 <davean> sorta, which is why you need the import "package" qualifier to disambiguate the namespace
2022-09-12 21:11:44 +0200 <olle> Would you just do `data Kind = Ref | Val`
2022-09-12 21:12:38 +0200 <olle> And then `data Ty = Int | Struct {kind :: Kind}` or such?
2022-09-12 21:13:46 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f)
2022-09-12 21:14:39 +0200fluxit(~fluxit@2604:a880:1:20::ab:1001)
2022-09-12 21:17:12 +0200mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 264 seconds)
2022-09-12 21:21:33 +0200jonathanx(~jonathan@c-5eea6252-74736162.cust.telenor.se)
2022-09-12 21:22:16 +0200 <gay9> hm, that's too much bureaucracy, but: import qualified "network" Network.Socket as Sock
2022-09-12 21:24:39 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-09-12 21:26:53 +0200titibandit(~titibandi@xdsl-85-197-3-115.nc.de)
2022-09-12 21:29:37 +0200jakalx(~jakalx@base.jakalx.net)
2022-09-12 21:31:19 +0200werneta(~werneta@137.79.215.202)
2022-09-12 21:33:28 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-09-12 21:36:54 +0200mastarija(~mastarija@46.188.152.49)
2022-09-12 21:36:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 21:39:58 +0200 <mastarija> Does anyone perhaps know what is the chunk size in bytes used by Wai Request?
2022-09-12 21:40:52 +0200 <mastarija> I want to use `getRequestBodyChunk` to read a limited amout of data from a Request, e.g <400KB
2022-09-12 21:40:58 +0200 <mastarija> https://hackage.haskell.org/package/wai-3.2.3/docs/Network-Wai.html#v:getRequestBodyChunk
2022-09-12 21:40:59 +0200 <n1essa> is there not a standard cube root function in haskell? (i found cbrt in altfloat, but it doesn't seem to work anymore and hasn't been updated since 2010)
2022-09-12 21:41:00 +0200toeffel(~toeffel@user/toeffel)
2022-09-12 21:41:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 21:42:08 +0200 <mastarija> n1essa: 2 ** (-3)?
2022-09-12 21:42:33 +0200 <n1essa> oh jeez, that's easy, idk why i didn't think to do that
2022-09-12 21:43:46 +0200 <mastarija> :)
2022-09-12 21:43:51 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 21:43:52 +0200 <n1essa> thank you :)
2022-09-12 21:43:56 +0200 <mastarija> np
2022-09-12 21:43:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-09-12 21:44:33 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 21:45:56 +0200 <mjrosenb> htm, with the commonmark html type, there's no way of processing the output as a collection of html elements, is there?
2022-09-12 21:46:10 +0200 <mjrosenb> https://hackage.haskell.org/package/commonmark-0.2.2/docs/Commonmark-Html.html#t:Html
2022-09-12 21:46:17 +0200 <geekosaur> shouldn't that have been 2 ** (1/3)?
2022-09-12 21:46:57 +0200acidjnk(~acidjnk@p200300d6e7137a30cd7d39b1b2511753.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-09-12 21:48:43 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-09-12 21:49:28 +0200aaronv(~aaronv@user/aaronv) (Quit: Leaving)
2022-09-12 21:49:34 +0200 <mastarija> geekosaur: yes, probably :)
2022-09-12 21:50:02 +0200 <n1essa> yea, thanks y'all
2022-09-12 21:50:05 +0200 <mastarija> this resulted in (1/2)**3
2022-09-12 21:50:13 +0200 <mastarija> Brain fart on my end
2022-09-12 21:55:10 +0200 <gay9> olle: I might give you a bad advice, as I've written basic interpreter one year ago (I lost its code) here's the code I'd start with:
2022-09-12 21:55:10 +0200 <gay9> data Type = Ref String | Int | Double | Structure [Type]
2022-09-12 21:55:10 +0200 <gay9> type Refs = [(String, Ty)]
2022-09-12 21:55:42 +0200 <gay9> by "basic" I mean the language BASIC
2022-09-12 21:56:19 +0200jakalx(~jakalx@base.jakalx.net)
2022-09-12 21:56:20 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-09-12 21:56:40 +0200acidjnk(~acidjnk@p200300d6e7137a30e5db8b0af6c36aac.dip0.t-ipconnect.de)
2022-09-12 21:58:21 +0200 <gay9> type Refs = [(String, Type)]
2022-09-12 21:58:39 +0200jonathanx(~jonathan@c-5eea6252-74736162.cust.telenor.se) (Ping timeout: 250 seconds)
2022-09-12 21:59:16 +0200toeffel(~toeffel@user/toeffel) (Quit: quit)
2022-09-12 22:02:00 +0200 <olle> gay9: Right :)
2022-09-12 22:02:18 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-09-12 22:06:50 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2022-09-12 22:07:07 +0200coot(~coot@213.134.176.158) (Quit: coot)
2022-09-12 22:08:04 +0200lyle(~lyle@104.246.145.85) (Quit: WeeChat 3.6)
2022-09-12 22:08:55 +0200fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving)
2022-09-12 22:09:43 +0200pavonia(~user@user/siracusa)
2022-09-12 22:10:43 +0200MoC(~moc@user/moc)
2022-09-12 22:11:34 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-09-12 22:12:05 +0200MoC(~moc@user/moc) (Client Quit)
2022-09-12 22:13:28 +0200python476(~user@88.160.31.174) (Remote host closed the connection)
2022-09-12 22:14:17 +0200jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds)
2022-09-12 22:14:45 +0200Pickchea(~private@user/pickchea)
2022-09-12 22:17:43 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-09-12 22:20:06 +0200 <gay9> olle: I missed the fact that structures also need the field names, but that's not so hard: data Type = Ref String | Int | Double | Structure Refs
2022-09-12 22:21:18 +0200ft(~ft@p3e9bc57b.dip0.t-ipconnect.de)
2022-09-12 22:21:51 +0200titibandit(~titibandi@xdsl-85-197-3-115.nc.de) (Remote host closed the connection)
2022-09-12 22:21:54 +0200ec(~ec@gateway/tor-sasl/ec)
2022-09-12 22:26:11 +0200Guest5186(~max@188.162.254.64)
2022-09-12 22:27:21 +0200Guest5186(~max@188.162.254.64) ()
2022-09-12 22:27:49 +0200raym(~raym@user/raym) (Ping timeout: 265 seconds)
2022-09-12 22:29:28 +0200raym(~raym@user/raym)
2022-09-12 22:31:11 +0200jonathanx(~jonathan@94.234.98.82)
2022-09-12 22:34:23 +0200Guest86(~Guest86@188.162.254.64)
2022-09-12 22:35:16 +0200zer0bitz(~zer0bitz@2001:2003:f748:2000:b827:fc67:e7ff:2cf8) (Ping timeout: 268 seconds)
2022-09-12 22:35:30 +0200wonko(~wjc@2a01:e0a:4f9:6500:7c3e:1edd:d64c:344f) (Ping timeout: 244 seconds)
2022-09-12 22:35:49 +0200Guest86(~Guest86@188.162.254.64) (Client Quit)
2022-09-12 22:39:15 +0200 <olle> gay9: Yeah sure, I omitted that to simplify
2022-09-12 22:40:53 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-09-12 22:41:50 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 265 seconds)
2022-09-12 22:42:41 +0200mikoto-chan(~mikoto-ch@164.5.249.78)
2022-09-12 22:45:22 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-09-12 22:45:57 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-09-12 22:52:32 +0200vglfr(~vglfr@145.224.94.221) (Ping timeout: 268 seconds)
2022-09-12 22:53:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-09-12 22:55:21 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-09-12 22:58:25 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-09-12 22:59:48 +0200mastarija(~mastarija@46.188.152.49) (Ping timeout: 264 seconds)
2022-09-12 23:00:15 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-09-12 23:01:26 +0200mastarija(~mastarija@46.188.152.49)
2022-09-12 23:01:34 +0200alternateved(~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection)
2022-09-12 23:05:51 +0200jakalx(~jakalx@base.jakalx.net)
2022-09-12 23:08:54 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-09-12 23:08:58 +0200perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.6)
2022-09-12 23:11:05 +0200perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-09-12 23:11:14 +0200michalz(~michalz@185.246.204.75) (Read error: Connection reset by peer)
2022-09-12 23:11:20 +0200ec(~ec@gateway/tor-sasl/ec)
2022-09-12 23:11:51 +0200michalz(~michalz@185.246.204.89)
2022-09-12 23:12:36 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-09-12 23:13:08 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 23:13:16 +0200vglfr(~vglfr@145.224.94.199)
2022-09-12 23:13:36 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 23:13:54 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-09-12 23:14:28 +0200ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2022-09-12 23:14:47 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 23:14:53 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 23:15:55 +0200ec(~ec@gateway/tor-sasl/ec)
2022-09-12 23:17:11 +0200cpli(~cpli@77.47.62.180)
2022-09-12 23:17:17 +0200ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2022-09-12 23:17:29 +0200ec(~ec@gateway/tor-sasl/ec)
2022-09-12 23:18:20 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-09-12 23:19:19 +0200ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-09-12 23:25:00 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2022-09-12 23:25:18 +0200ec(~ec@gateway/tor-sasl/ec)
2022-09-12 23:29:06 +0200jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
2022-09-12 23:33:35 +0200nate1(~nate@98.45.169.16)
2022-09-12 23:38:52 +0200nate1(~nate@98.45.169.16) (Ping timeout: 265 seconds)
2022-09-12 23:42:08 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
2022-09-12 23:44:04 +0200kenran(~kenran@200116b82bde560072acad36e385acc4.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-09-12 23:44:33 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-09-12 23:48:20 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-09-12 23:49:14 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-09-12 23:51:44 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-09-12 23:52:16 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-09-12 23:53:46 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-09-12 23:55:19 +0200mastarija(~mastarija@46.188.152.49) (Quit: WeeChat 3.5)
2022-09-12 23:57:49 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 250 seconds)