Home liberachat/#haskell: Logs Calendar

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

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

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