Home liberachat/#haskell: Logs Calendar

Logs on 2022-04-26 (liberachat/#haskell)

00:00:26 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
00:01:23 × mshiraeeshi quits (~shiraeesh@46.34.207.121) (Ping timeout: 260 seconds)
00:03:37 × gurkenglas quits (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
00:03:37 × xff0x_ quits (~xff0x@om126158204045.30.openmobile.ne.jp) (Read error: Connection reset by peer)
00:03:44 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 246 seconds)
00:04:45 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
00:05:50 <abastro[m]> Antennas for wifi?
00:07:02 <whatsupdoc> Why learn haskell? It's not being used in industry
00:07:44 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
00:08:17 vysn joins (~vysn@user/vysn)
00:08:28 <monochrom> Troll.
00:08:58 <abastro[m]> Yea
00:09:06 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
00:09:08 <dibblego> gah! what have I been doing for the last 20 years!?
00:09:32 <monochrom> dibblego you should learn the violin too, it is not used in industry :)
00:09:42 <abastro[m]> Lmaooo
00:09:46 <dibblego> that would be yet another 20 wasted years, I'm onto you
00:09:57 <abastro[m]> Great
00:10:06 <monochrom> But but but you'll get more love from twosetviolin.
00:10:23 <abastro[m]> The risk is, you might end up becoming violinist
00:10:24 <dibblego> yeah but in 20 years, someone who definitely knows wtf they are talking about will break this news to me
00:12:13 <Axman6> shit, does that mean I haven't had a job for the last seven years programming in Haskell either?
00:12:22 <dibblego> yeah man devo
00:13:21 <Axman6> My financial stability is a lie, whatever will I do!
00:13:46 <Axman6> Maybe I should tell the stock exchange that their clearing and settlement system doesn't exist
00:13:48 <whatsupdoc> Gosh it really is a cult
00:13:57 <monochrom> Financial stability is a lie, period. >:)
00:14:02 <dibblego> oh no more bad news!
00:14:04 <Axman6> This is true
00:14:19 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
00:14:56 <monochrom> Why are we tolerating whatsupdoc? They are not contributing.
00:14:57 ChanServ sets mode +o monochrom
00:15:03 monochrom sets mode +b *!*@id-509081.hampstead.irccloud.com
00:15:03 whatsupdoc is kicked by monochrom (whatsupdoc)
00:15:26 monochrom sets mode -o monochrom
00:15:31 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 256 seconds)
00:15:38 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
00:16:39 × ralu1 quits (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 256 seconds)
00:17:45 <Axman6> "whatsupdoc: Tell mono to unban me geez, I asked a genuine question and got attacked by y'all"
00:17:58 Arathorn is now known as Matthew|m
00:18:09 <dolio> Haha.
00:19:42 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
00:20:04 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 250 seconds)
00:20:10 <Axman6> it gets better
00:20:19 <Axman6> "whatsupdoc: I'm gonna need y'all when I start learning Haskell later this year, damn "
00:21:00 <Axman6> http://i0.kym-cdn.com/entries/icons/mobile/000/023/180/notsurprisedkirk.jpg
00:24:25 acarrico1 joins (~acarrico@dhcp-68-142-48-19.greenmountainaccess.net)
00:24:28 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
00:25:10 laolmtdea^ joins (~laolmtdea@50.227.69.228)
00:26:50 jakalx joins (~jakalx@base.jakalx.net)
00:29:06 <sm> why ban so quickly ? do you know that person ?
00:29:42 <Bulby[m]> powerlevel 👀
00:31:16 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Ping timeout: 272 seconds)
00:32:21 russruss joins (~russruss@my.russellmcc.com)
00:33:31 <abastro[m]> Wow how could one change the power level like this?
00:35:04 × laolmtdea^ quits (~laolmtdea@50.227.69.228) (Ping timeout: 272 seconds)
00:35:56 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
00:40:23 <monochrom> "Gosh it really is a cult" proves disingenuosness. I don't need to know the person. I just need to know they are adding noise.
00:40:47 <dibblego> I support the ban and was planning it after having my fun.
00:41:07 <Axman6> SO I kept talking to whatsupdoc, and the basis of their opinion is that the company they work for doesn't use Haskell, therefore it isn't used in industry. Also apparently Google don't use HAskell, despire having many open source Haskell projects - for anyone wondering where those well educated statements come from
00:41:21 <dibblego> Axman6: please send them to #haskell-ops
00:41:34 <monochrom> Also measuring from the start "Why learn haskell? It's not being used in industry" it took me 7 minutes. That was more than they deserved.
00:41:43 <Axman6> Haskell* despite*
00:42:38 hololeap joins (~hololeap@user/hololeap)
00:42:47 <monochrom> No, please don't spend time on a time sink.
00:43:38 <exarkun> It doesn't seem like the most justified ban in the world to me.
00:46:07 <Axman6> I would also have said it was too soon for a ban too, kicking or a timed ban - IMO bans should be for patterns of behaviour, and three messages isn't really that
00:47:33 ec joins (~ec@gateway/tor-sasl/ec)
00:47:38 <hpc> 100% of those three messages were classic #haskell troll lines though
00:48:18 <dibblego> I support it 100%, come to #haskell-ops, let's agree to not be a dick head, problem solved
00:48:27 <monochrom> Correction: 20 minutes measuring from the real start, the "worship" line.
00:48:49 <sm> I know we're no longer a young enthusiastic language community, and I know defending against spam is tricky and thankless, but I'd hate to see this channel continue to slide towards an intolerant cliquish atmosphere. It used to be known as the friendliest IRC channel.
00:49:00 <hpc> in any event, finally we can get back to the real topic of #haskell...
00:49:01 <hpc> pringles
00:49:14 <Axman6> I agree, though apparently they also want to learn Haskell, for learning sake (not a course). Wouldn't be the first time we've turned a troll into a ~convert~ useful member of society
00:49:50 <Axman6> What's the deal with the new pringles recipe and the new shape???
00:49:59 <Axman6> Absolute junk
00:50:02 <monochrom> IMO they say "I want to learn" afterwards to scam you for sympathy.
00:50:22 <hpc> Axman6: it's to support 5G, of course :D
00:50:23 <monochrom> For 20 minutes they had a chance to say that before I banned.
00:50:37 <Axman6> They got no sympathy, I spointed out clearly how dump insulting people you need help from is
00:51:10 <Axman6> pointed* dumb* bloody hell
00:51:53 <hololeap> how do people feel about writing out pragmas like "Language" instead of "LANGUAGE"
00:52:06 <monochrom> I write "language".
00:52:11 <Axman6> hololeap: that's worse than the new pringles recipe
00:52:16 <exarkun> why not LanGuage
00:52:50 <Axman6> LanguaGe - lang-gua-zhay
00:52:51 <monochrom> But to answer, yeah I'm OK with Language. :)
00:53:07 <hololeap> it feels a little less loud
00:53:27 <monochrom> Yeah this is why I go the final step, language :)
00:53:32 <Axman6> it's a PRAGMA, it's supposed to be LOUD so the compiler can hear it!
00:53:47 <hpc> go full latex - LaNgUaGe
00:53:54 <monochrom> I think the {-# is already loud enough.
00:54:13 <hpc> i never knew it wasn't case-sensitive
00:54:25 <monochrom> Yeah I found out fairly recently too.
00:54:27 <Axman6> It''s literally a comment, the compiler should be ignoring it, hence the caps to make it take notice!
00:54:32 <hpc> gonna have to start doing all-lowercase now, like how i write powershell
00:55:00 <monochrom> Unfortunately {-# language gadts #-} probably doesn't fly
00:55:26 <hololeap> that's why I prefer Language; it fits with the CamelCase of the extensions
00:55:47 <monochrom> I still hate camel case.
00:56:15 <hpc> that's what llamAcasE is for
00:56:42 <hololeap> lol wat
00:57:13 <hpc> it's camelcase for left-handed people
00:57:39 <hololeap> so llamas are polar opposites of camels?
00:58:17 <hololeap> perhaps even tropical opposites
00:58:20 <hpc> cartesian opposite - polar opposite is sləwec
00:58:49 <hpc> haha, tropical opposites
00:59:27 × alp_ quits (~alp@user/alp) (Ping timeout: 240 seconds)
01:00:07 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
01:05:16 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
01:05:52 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
01:07:01 xff0x_ joins (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp)
01:08:27 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
01:13:42 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 272 seconds)
01:13:43 <hololeap> @unmtl ExceptT e (ListT m) a
01:13:43 <lambdabot> m ([] (Either e a))
01:14:03 <hololeap> @unmtl ListT (ExceptT e m) a
01:14:03 <lambdabot> m (Either e ([] a))
01:24:21 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
01:24:29 andrey__ joins (~andrey@p200300dbcf119000377e8be0c29d44c5.dip0.t-ipconnect.de)
01:26:55 × andrey_ quits (~andrey@p5b1652a4.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
01:27:23 × Ram-Z quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 246 seconds)
01:34:17 × kaph quits (~kaph@net-2-42-128-49.cust.vodafonedsl.it) (Ping timeout: 256 seconds)
01:36:28 Guest81 joins (~Guest81@128.177.72.242)
01:41:37 frost joins (~frost@user/frost)
01:43:02 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
01:45:12 × Hiring quits (~Hiring@31.222.238.38) (Ping timeout: 252 seconds)
01:54:26 wroathe joins (~wroathe@user/wroathe)
01:55:49 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
01:57:14 fef joins (~thedawn@user/thedawn)
01:57:29 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
01:58:21 Core4993 joins (~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc)
02:00:14 oxide joins (~lambda@user/oxide)
02:00:33 ezzieygu1wuf is now known as ezzieyguywuf
02:00:59 × oxide quits (~lambda@user/oxide) (Client Quit)
02:02:07 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
02:02:55 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Read error: Connection reset by peer)
02:03:13 zaquest joins (~notzaques@5.130.79.72)
02:03:14 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
02:09:17 parsnip joins (~parsnip@user/parsnip)
02:09:37 <parsnip> where did `xs` notation come from?
02:10:12 <shachaf> English, I imagine.
02:10:48 <monochrom> plural of x :)
02:10:48 × Katarushisu quits (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Read error: Connection reset by peer)
02:11:33 <parsnip> did haskell start this convention?
02:11:34 <Axman6> while x's would be valid Haskell, it's longer, and less gramatically correct than xs
02:12:35 <shachaf> 's should be used as a possessive.
02:13:01 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
02:13:03 <parsnip> i think apostrophe is allowed, just not common
02:13:04 × stackdroid18 quits (14094@user/stackdroid) (Quit: hasta la vista... tchau!)
02:13:05 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
02:13:23 <parsnip> maybe x:X was not allowed in ML
02:13:48 × Core4993 quits (~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc) (Read error: Connection reset by peer)
02:14:01 Core4993 joins (~Core4993@210.12.195.3)
02:14:08 <parsnip> i mean i have many x's is allowed in english
02:14:17 <monochrom> Ah ML used this convention too. Not sure who started, but certainly at least ML.
02:14:29 <parsnip> so it's probably an issue of casing?
02:14:30 × Core4993 quits (~Core4993@210.12.195.3) (Read error: Connection reset by peer)
02:14:38 <parsnip> like, uppercase changes meaning?
02:14:44 Core4993 joins (~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc)
02:14:45 <monochrom> x:X is allowed in ML. They don't actually have a "capital means constructor" rule.
02:14:55 <parsnip> because in math, you are more likely to write `for x in X`
02:15:05 <parsnip> the big set is upper case
02:15:09 × Core4993 quits (~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc) (Read error: Connection reset by peer)
02:15:17 <parsnip> the little element in lower case
02:15:24 <Axman6> I'm not sure I would say that that's what x:xs means though
02:15:36 <monochrom> Well, they chose xs over X.
02:15:38 <Axman6> and using it like that would be confusing, since x is specifically not in xs
02:16:00 <Axman6> it's x and the other xs
02:16:06 <[Leary]> That convention translates to x :: X.
02:16:10 <monochrom> ML may disallow apostrophe though.
02:16:29 <Axman6> if we were talking about list comprehensions it would make more sense to use x <- X
02:17:26 <[Leary]> You don't just call any list of xs X; that should have some kind of completeness.
02:17:40 oxide joins (~lambda@user/oxide)
02:17:41 <parsnip> my memory is bad, don't haskellers write x <- xs ?
02:17:53 <Axman6> yes
02:18:24 jargon joins (~jargon@174-22-223-120.phnx.qwest.net)
02:18:39 <monochrom> I am not sure you can use rational reasoning to understand naming.
02:18:53 <parsnip> lol
02:19:03 <Axman6> r/namenerdcirclejerk would tend to agree with you
02:19:29 <monochrom> Both xs and X could made sense. A ton more alternatives would too. Some bigshot made a choice. End of story.
02:20:23 doppo joins (~doppo@2604:180::e0fc:a07f)
02:20:23 <monochrom> I think the Prolog people started X:Xs. (It's [X|Xs] in their actual syntax.)
02:20:29 doppo parts (~doppo@2604:180::e0fc:a07f) ()
02:21:35 <monochrom> And in Prolog it couldn't be x:xs. Lower case for constant atoms (like atoms in Scheme), capitalized for parameters (in general variables waiting for unification).
02:21:50 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 250 seconds)
02:22:05 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
02:22:14 <monochrom> Err, I mean in Prolog it couldn't be x:X i.e. [x|X].
02:22:49 <monochrom> (To answer why they didn't go with the "x∈X" convention.)
02:24:27 <monochrom> I guess it pays off that I signed up to be a TA of a course that involved Prolog heh. Now I know more than I ever want to. Much regret. :)
02:24:28 × Katarushisu quits (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Quit: Ping timeout (120 seconds))
02:24:47 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
02:25:37 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
02:26:22 AlexNoo_ joins (~AlexNoo@94.233.241.106)
02:26:44 <monochrom> Oh and I also had to mark an assignment that went "choose one of these six topics and write a tutorial" and I had to mark those who chose "C++ lambda, map, filter, fold" so now I also know way too much C++ than I'm comfortable with haha.
02:28:06 <monochrom> On the bright side I finally understand what's "using t = Myclass::value_type" and why sometimes it has to be "using t = typename Myclass::value_type".
02:28:57 <abastro[m]> Eww C++ lambda
02:29:01 <Axman6> ... can you explain why?
02:29:04 × AlexZenon quits (~alzenon@178.34.160.91) (Ping timeout: 272 seconds)
02:29:39 × AlexNoo quits (~AlexNoo@178.34.160.91) (Ping timeout: 240 seconds)
02:29:42 × Alex_test quits (~al_test@178.34.160.91) (Ping timeout: 272 seconds)
02:29:48 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-e10b-aeba-a8b3-e9aa.res6.spectrum.com) (Remote host closed the connection)
02:31:20 <monochrom> OK I should s/understand/know/ :)
02:32:25 <monochrom> If it begins with say "template<typename Myclass>" then there is something about "Myclass::value_type is a dependent name, assumed non-type unless you say typename".
02:32:29 <Axman6> "Please see sections X, Y, Z and Q.2.1a in the C++2X standard and it should become clear, if you read all parts of the standard that those sections depend on"
02:32:46 <monochrom> Nah I just read Stroustrup's.
02:33:29 <abastro[m]> Oh no
02:33:43 <abastro[m]> Pls do not get converted to C++
02:33:52 <shachaf> Axman6: The reason is that the C++ grammar is awful (partly inherited from C, though C++ made it much worse, and introduced all these problems).
02:34:02 <monochrom> ikr? I can feel the Stockholm syndrome...
02:34:22 Alex_test joins (~al_test@94.233.241.106)
02:34:30 × Guest81 quits (~Guest81@128.177.72.242) (Ping timeout: 276 seconds)
02:34:36 <shachaf> There are a bunch of ambiguities that need this sort of clarification.
02:34:40 AlexZenon joins (~alzenon@94.233.241.106)
02:34:45 <Axman6> I feel like there's a lot to like about C++, except the language itself
02:35:20 <shachaf> For example, "f<x>(y);" can be parsed as "f applied to template argument x and regular argument y", or as "(f < x) > (y);".
02:35:42 <monochrom> People whined about Ada. I feel that C++ is the rightful heir.
02:35:42 <shachaf> To disambugate there you need to know what f is. Which normally you do, but not if f itself is a template argument.
02:35:55 <Axman6> I like many of the ideas, having a lot of control over how to specialise things, allocate things, inline things, data layouts etc, but god there's a lot of awful crap in the language
02:36:18 <monochrom> expressive but bureacratic.
02:36:21 <Axman6> I feel people whine about Ada without knowing Ada - I enjoyed Ada but it did feel very unfamiliart
02:36:25 <Axman6> -t
02:36:40 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 272 seconds)
02:36:55 <shachaf> There's a similar ambiguity with "t * x;" -- is it declaring a pointer x, or multiplying t by x? You need to know what t is to know.
02:37:01 <Axman6> Few languages provide as good tools for concurrency and embedded systems as Ada
02:37:03 <monochrom> And now that C++ also standardizes concurrency, it finally catches up with Ada haha </snark>
02:37:18 × td_ quits (~td@94.134.91.109) (Ping timeout: 272 seconds)
02:37:30 <shachaf> I assume "using t = ambiguous_thing;" is a similar issue, though I'm not sure what the ambiguity is here.
02:37:31 <monochrom> <not snark> To be fair in many other aspects C++ surpassed Ada
02:37:50 <shachaf> C has a lot of control over how to specialize things, allocate things, inline things, data layouts, etc.
02:38:13 <Axman6> I'd be surprised if it did surpass Ada when it comes to concurrency, it provides really useful, high level concepts that would require language changes for C++ to enforce the properties of
02:38:53 td_ joins (~td@94.134.91.110)
02:38:55 <Axman6> shachaf: C compilers do, but afair it's mostly ad hoc and everyone just agreed to do the same thing, without a standard for it.
02:40:02 <Axman6> Ada lets you do things like say: "This type takes up exactly one word, and the bits can mean one of these eight different things, and it is only allowed to be used in these specific addresses, which the compiler must ensure it doesn't allocate for any other use, because they are actually memory mapped IO registers"
02:41:06 <monochrom> I feel you. It's why I chose "whined" rather than "complained".
02:41:11 <Axman6> in C, you'd say "struct register[8] = 0x83890000; // Compiler, pls don't do anything to this address
02:41:30 ralu1 joins (~ralu@static.211.245.203.116.clients.your-server.de)
02:41:57 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
02:42:22 <shachaf> Well, certainly anything C++ gives you in this regard, C does too.
02:42:55 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
02:42:59 <Axman6> (If this sounds like a pretty specific example, it's because it was the example used in my embedded systems course at uni, showing how to program a DSP in Ada, where the interface do it was via some number of memory mapped registers)
02:43:40 <Axman6> yeah both C and C++ are lacking in this kind of control IMO, and you have to resort to linker scripts to try and convince the compiler to not write garbage to things
02:46:15 <maerwald[m]> Expressivity comes with a price, many people forget, including Haskellers
02:47:12 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
02:47:37 <monochrom> This is why I gave up expressing OOP and just stick to FP such as Haskell.
02:49:39 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
02:49:45 <jackdk> Axman6: I too liked my experience with Ada, but it wasn't at that high of a level. I ended up writing a parallel floodfill to work through a maze.
02:50:50 <monochrom> That is like one of those National Treasure or Tomb Raider treasure hunt movies.
02:51:32 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
02:51:32 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
02:51:32 wroathe joins (~wroathe@user/wroathe)
02:51:57 <monochrom> "OMG we are trapped AND water is coming in to drown us!" "Wait a second two wrongs make a right! Watch where the water is leaving, that's our exit too!"
02:56:03 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:58:50 × geranim0 quits (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 272 seconds)
03:00:29 × slaydr quits (~slaydr@193.19.109.224) (Ping timeout: 246 seconds)
03:00:58 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
03:02:35 abastro joins (~abab9579@192.249.26.99)
03:06:04 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
03:07:42 × oxide quits (~lambda@user/oxide) (Ping timeout: 272 seconds)
03:09:00 oxide joins (~lambda@user/oxide)
03:10:52 justsomeguy joins (~justsomeg@user/justsomeguy)
03:13:16 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
03:18:45 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
03:20:39 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 276 seconds)
03:22:28 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
03:22:53 Guest81 joins (~Guest81@c-73-151-189-117.hsd1.ca.comcast.net)
03:23:29 <Guest81> really? banned on #haskell-ops as well? this ts so dumb
03:26:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
03:28:28 × Adran quits (adran@botters/adran) (Quit: Este é o fim.)
03:31:16 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
03:34:02 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
03:35:33 Adran joins (adran@botters/adran)
03:38:06 × redb quits (~nmh@136.49.49.211) (Ping timeout: 250 seconds)
03:39:15 <[itchyjunk]> Can you use () to group operations?
03:39:19 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
03:39:38 <[itchyjunk]> (blah) ++ (some other blah) to say do two things to create similar lists then merge them
03:42:38 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
03:43:36 notzmv joins (~zmv@user/notzmv)
03:47:44 <monochrom> Yes.
03:48:14 cdman joins (~dcm@user/dmc/x-4369397)
03:51:39 × Guest81 quits (~Guest81@c-73-151-189-117.hsd1.ca.comcast.net) (Quit: Connection closed)
03:51:59 × maerwald quits (~maerwald@user/maerwald) (Ping timeout: 256 seconds)
03:54:44 <[itchyjunk]> Argh, it was a typo all along i think..
03:54:58 inversed_ joins (~inversed@94.13.111.159)
03:55:50 × inversed quits (~inversed@94.13.111.159) (Ping timeout: 272 seconds)
03:58:22 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 272 seconds)
03:59:43 <[itchyjunk]> i think i just need to filter out the things what i need from this
03:59:44 <[itchyjunk]> https://bpa.st/DFOQ
03:59:45 × liz quits (~liz@host109-151-125-217.range109-151.btcentralplus.com) (Quit: Lost terminal)
04:00:03 <[itchyjunk]> Either that or the second list i create needs to be different hmmm
04:01:31 redb joins (~nmh@136.49.49.211)
04:04:37 maerwald joins (~maerwald@mail.hasufell.de)
04:06:09 mbuf joins (~Shakthi@182.64.156.25)
04:06:36 × redb quits (~nmh@136.49.49.211) (Ping timeout: 272 seconds)
04:06:40 slaydr joins (~slaydr@193.19.109.224)
04:13:39 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
04:14:36 × maerwald quits (~maerwald@mail.hasufell.de) (Ping timeout: 276 seconds)
04:15:00 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
04:15:01 kaph joins (~kaph@net-2-42-128-49.cust.vodafonedsl.it)
04:16:36 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
04:16:59 redb joins (~nmh@136.49.49.211)
04:17:00 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
04:20:10 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
04:22:00 <hololeap> is there a good alternative to dlist that is in the libs bundled with ghc?
04:22:26 <hololeap> oh, wait I don't need dlist, nvm
04:22:29 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
04:22:49 <monochrom> I use `("sdkljfl" ++) . ('c' :)`. Does that count? :)
04:24:22 <hololeap> I thought about doing that, but I can just use foldr
04:24:55 tommd joins (~tommd@97-120-41-123.ptld.qwest.net)
04:27:55 <hololeap> I'm using `ListT IO FilePath` to scan through a directory tree. honest question, what could go wrong?
04:28:21 <monochrom> Is that [IO FilePath]?
04:28:45 <monochrom> Err wait no. Is that IO [FilePath]?
04:28:56 <hololeap> that's what it ends up being after runListT
04:29:51 <monochrom> So unless you use unsafeInterleaveIO, it doesn't return until the whole tree is complete.
04:31:06 <monochrom> "ListT m a = newtype (m [a])" has other issues in addition. I think I even heard "not a monad" too.
04:31:18 × gpncarl quits (~gpncarl@210.12.195.5) (Ping timeout: 272 seconds)
04:31:23 <hololeap> yeah, it's deprecated, which was the source of my question
04:31:25 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
04:31:52 <hololeap> but the syntax is convenient
04:31:59 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
04:32:00 <jackdk> Many streaming libraries advertise themselves as "ListT done right". I would consider using one of those to provide a stream of filenames to iterate through, so you have more precise control over the traversal
04:32:24 <hololeap> one of the constraints of this project is that I have to use packages bundled with GHC only
04:33:21 <monochrom> Oleg's "data L m a = Nil | Cons a (m (L m a))" though is legit.
04:34:00 <hololeap> but it won't fail early in the case of a `throwError`? it will scan the whole tree first and then process it?
04:35:29 <monochrom> throwing an exception early is an orthogonal issue.
04:35:56 <monochrom> more or less
04:36:04 <jackdk> hololeap: `data Stream f m r = Done r | Step (f (Stream f m r)) | Effect (m (Stream f m r))`; `data Of a b = !a :< b deriving Functor`; you now have a streaming type
04:36:05 <hololeap> I'm saying if it hits a throw error on file 50/500, will it look at the other 450?
04:36:12 <jackdk> (inspired by `streaming`)
04:36:32 <hololeap> maybe I can test this somehow
04:36:39 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
04:41:15 × abastro quits (~abab9579@192.249.26.99) (Ping timeout: 276 seconds)
04:42:19 × euandreh quits (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Ping timeout: 260 seconds)
04:44:17 euandreh joins (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
04:51:19 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
04:51:29 <hololeap> here is the relevant snippet, in all it's unglory: http://sprunge.us/qTGZGQ
04:51:38 maerwald joins (~maerwald@mail.hasufell.de)
04:52:06 coot joins (~coot@213.134.190.95)
04:52:25 Batzy joins (~quassel@user/batzy)
04:55:58 × x88x88x quits (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Remote host closed the connection)
04:56:45 x88x88x joins (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
04:59:04 × Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
04:59:46 Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
05:02:15 abastro joins (~abab9579@192.249.26.99)
05:11:39 × euandreh quits (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174) (Ping timeout: 240 seconds)
05:11:42 gpncarl joins (~gpncarl@222.249.231.3)
05:11:48 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
05:13:54 euandreh joins (~euandreh@2804:14c:33:9fe5:2165:73d6:1630:f174)
05:18:02 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
05:18:18 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
05:18:38 littlebo1eep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
05:18:38 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
05:19:19 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
05:19:51 <Axman6> jackdk: "inspired"
05:21:01 <jackdk> Axman6: "yes"
05:21:34 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
05:23:49 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
05:25:13 deadmarshal_ joins (~deadmarsh@95.38.115.70)
05:29:37 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
05:31:19 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 240 seconds)
05:36:30 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
05:36:49 × tommd quits (~tommd@97-120-41-123.ptld.qwest.net) (Ping timeout: 256 seconds)
05:40:36 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
05:40:54 vicfred joins (~vicfred@user/vicfred)
05:41:20 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
05:45:19 × vicfred quits (~vicfred@user/vicfred) (Ping timeout: 256 seconds)
05:46:40 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
06:03:04 × littlebo1eep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
06:04:07 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
06:05:19 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
06:09:41 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Ping timeout: 256 seconds)
06:10:48 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
06:12:06 alp_ joins (~alp@user/alp)
06:16:43 hughjfchen joins (~hughjfche@vmi556545.contaboserver.net)
06:17:03 × Me-me quits (~me-me@user/me-me) (Ping timeout: 260 seconds)
06:31:59 mikoto-chan joins (~mikoto-ch@213.177.151.239)
06:35:12 acidjnk joins (~acidjnk@p200300d0c73b45335982c41922b7b0a0.dip0.t-ipconnect.de)
06:38:36 xkuru joins (~xkuru@user/xkuru)
06:43:06 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
06:43:48 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
06:50:35 Ram-Z joins (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
06:52:32 × ralu1 quits (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 272 seconds)
07:01:49 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
07:01:51 cfricke joins (~cfricke@user/cfricke)
07:02:25 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
07:04:43 chele joins (~chele@user/chele)
07:08:09 dextaa4 joins (~dextaa@user/dextaa)
07:08:57 michalz joins (~michalz@185.246.204.125)
07:10:06 × dextaa4 quits (~dextaa@user/dextaa) (Remote host closed the connection)
07:10:23 merijn joins (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl)
07:12:36 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
07:13:55 mshiraeeshi joins (~shiraeesh@46.34.207.194)
07:14:24 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
07:14:40 × abastro quits (~abab9579@192.249.26.99) (Remote host closed the connection)
07:15:29 abastro joins (~abab9579@192.249.26.99)
07:15:38 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:16:18 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
07:17:05 × jargon quits (~jargon@174-22-223-120.phnx.qwest.net) ()
07:17:16 xaotuk joins (~sasha@net253-36-245-109.mbb.telenor.rs)
07:21:22 lortabac joins (~lortabac@2a01:e0a:541:b8f0:8229:e9bc:f0d0:5ffc)
07:22:13 × abastro quits (~abab9579@192.249.26.99) (Remote host closed the connection)
07:22:49 fendor joins (~fendor@178.165.165.71.wireless.dyn.drei.com)
07:23:06 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 276 seconds)
07:23:16 shiraeeshi joins (~shiraeesh@46.34.207.194)
07:24:44 × mshiraeeshi quits (~shiraeesh@46.34.207.194) (Ping timeout: 246 seconds)
07:24:50 × dostoevsky quits (~5c42c5384@user/dostoevsky) (Ping timeout: 272 seconds)
07:25:05 × fendor_ quits (~fendor@178.165.165.71.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
07:32:06 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
07:32:56 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
07:35:30 × rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
07:36:23 rembo10 joins (~rembo10@main.remulis.com)
07:40:59 jakalx parts (~jakalx@base.jakalx.net) ()
07:42:25 gehmehgeh joins (~user@user/gehmehgeh)
07:45:50 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:47:39 × xaotuk quits (~sasha@net253-36-245-109.mbb.telenor.rs) (Ping timeout: 240 seconds)
07:49:04 machinedgod joins (~machinedg@24.105.81.50)
07:49:11 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:50:16 jakalx joins (~jakalx@base.jakalx.net)
07:54:40 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
07:54:51 Pikachu[m] joins (~pychaumat@2001:470:69fc:105::2:1ce)
07:58:31 × shiraeeshi quits (~shiraeesh@46.34.207.194) (Quit: Leaving)
08:02:11 ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:5717:8bb4:874e:9726)
08:02:51 yauhsien_ joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
08:04:43 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
08:09:19 × coot quits (~coot@213.134.190.95) (Quit: coot)
08:10:46 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
08:12:40 dsrt^ joins (~dsrt@50.227.69.228)
08:13:32 xaotuk joins (~sasha@gore.copyleft.no)
08:15:03 × yauhsien_ quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
08:20:01 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
08:24:19 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
08:31:15 Pickchea joins (~private@user/pickchea)
08:36:07 mattil joins (~mattil@helsinki.portalify.com)
08:37:12 ralu1 joins (~ralu@static.211.245.203.116.clients.your-server.de)
08:37:15 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
08:44:23 kuribas joins (~user@ptr-17d51enjtkmzpg60wq1.18120a2.ip6.access.telenet.be)
08:45:10 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
08:45:11 zeenk joins (~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685)
08:49:47 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
08:50:24 gustik joins (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f)
08:51:14 × zeenk quits (~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685) (Remote host closed the connection)
08:51:15 coot joins (~coot@213.134.190.95)
08:52:09 zeenk joins (~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685)
08:52:24 × gustik quits (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) (Remote host closed the connection)
08:55:23 troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua)
08:56:47 × zeenk quits (~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685) (Excess Flood)
08:57:09 zeenk joins (~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685)
08:57:15 takuan joins (~takuan@178-116-218-225.access.telenet.be)
09:00:19 mc47 joins (~mc47@xmonad/TheMC47)
09:02:09 searemind joins (~searemind@122.161.49.176)
09:02:23 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
09:03:38 × dcoutts_ quits (~duncan@host86-150-41-186.range86-150.btcentralplus.com) (Ping timeout: 272 seconds)
09:12:26 AlexNoo_ is now known as AlexNoo
09:12:29 cosimone joins (~user@93-44-185-79.ip98.fastwebnet.it)
09:13:46 × searemind quits (~searemind@122.161.49.176) (Quit: 0.9.4)
09:14:39 × xaotuk quits (~sasha@gore.copyleft.no) (Ping timeout: 240 seconds)
09:14:46 Core4993 joins (~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc)
09:14:51 searemind joins (~searemind@122.161.49.176)
09:16:15 × acidjnk quits (~acidjnk@p200300d0c73b45335982c41922b7b0a0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
09:16:41 × zyklotomic quits (~ethan@r4-128-61-94-122.res.gatech.edu) (Ping timeout: 256 seconds)
09:16:48 ubert1 joins (~Thunderbi@ip5b407402.dynamic.kabel-deutschland.de)
09:18:36 zyklotomic joins (~ethan@res380d-128-61-86-213.res.gatech.edu)
09:19:45 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:20:05 × pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 256 seconds)
09:20:20 pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee)
09:22:45 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
09:27:16 zeenk2 joins (~zeenk@82.76.113.230)
09:27:20 × zeenk quits (~zeenk@2a02:2f0e:7603:9c01:4e89:6ef1:76e9:3685) (Ping timeout: 248 seconds)
09:30:35 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
09:33:17 × searemind quits (~searemind@122.161.49.176) (Quit: 0.9.4)
09:34:50 × zeenk2 quits (~zeenk@82.76.113.230) (Quit: Konversation terminated!)
09:35:06 zeenk joins (~zeenk@82.76.113.230)
09:40:19 × oxide quits (~lambda@user/oxide) (Ping timeout: 240 seconds)
09:42:35 oxide joins (~lambda@user/oxide)
09:44:11 __monty__ joins (~toonn@user/toonn)
09:44:43 × Core4993 quits (~Core4993@2408:8409:1880:1f0d:4019:afff:fee9:16cc) (Quit: CoreIRC for Android - www.coreirc.com)
09:45:51 × zeenk quits (~zeenk@82.76.113.230) (Quit: Konversation terminated!)
09:46:31 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:48:39 <albet70> what's the quick way to split [1,2,3,4,5,6] to [[1,2],[3,4],[5,6]]? groupBy?
09:49:47 <abastro[m]> split package, I think
09:50:15 <yushyin> chunksOf from split package
09:53:03 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Remote host closed the connection)
09:53:59 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
09:58:04 anomal joins (~anomal@87.227.196.109)
10:02:23 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:05:39 Midjak joins (~Midjak@82.66.147.146)
10:06:54 × td_ quits (~td@94.134.91.110) (Ping timeout: 276 seconds)
10:09:13 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
10:12:09 xaotuk joins (~sasha@109.245.225.166)
10:14:42 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Ping timeout: 276 seconds)
10:15:28 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
10:16:07 anomal joins (~anomal@87.227.196.109)
10:18:27 td_ joins (~td@94.134.91.110)
10:19:00 × xaotuk quits (~sasha@109.245.225.166) (Ping timeout: 272 seconds)
10:19:18 xaotuk joins (~sasha@gore.copyleft.no)
10:20:16 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:25:49 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
10:30:12 × mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds)
10:30:13 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:31:40 × xff0x_ quits (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds)
10:32:04 akegalj joins (~akegalj@93-138-184-212.adsl.net.t-com.hr)
10:38:29 gurkenglas joins (~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
10:41:05 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
10:41:25 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
10:47:03 andrey_ joins (~andrey@p200300dbcf1dd700efb6dcb1d2488e69.dip0.t-ipconnect.de)
10:47:51 × pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 276 seconds)
10:48:05 pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee)
10:49:35 × andrey__ quits (~andrey@p200300dbcf119000377e8be0c29d44c5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
10:50:45 × slaydr quits (~slaydr@193.19.109.224) (Ping timeout: 256 seconds)
10:50:54 <Bulby[m]> So how do I connect to a dbus socket 🤔
10:52:27 zebrag joins (~chris@user/zebrag)
10:53:53 × ubert1 quits (~Thunderbi@ip5b407402.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
10:56:04 searemind joins (~searemind@122.161.49.176)
10:56:35 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
10:57:35 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
11:01:38 × searemind quits (~searemind@122.161.49.176) (Quit: 0.9.4)
11:02:56 <yushyin> you connect to a unix domain socket, either the session bus socket or the system bus socket. however, the actual thing is that you should use a dbus client lib for the heavy lifting
11:03:45 slaydr joins (~slaydr@173.239.197.19)
11:05:22 <Bulby[m]> how do I write to it
11:05:32 <Bulby[m]> from elsewhere
11:08:26 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
11:08:41 dhil joins (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
11:11:44 <exarkun> unix domain sockets have mostly the same API as AF_INET sockets
11:12:13 <exarkun> you just pass a different address / address family to create/connect them
11:12:44 <exarkun> I'm not sure what you mean by "from elsewhere".
11:13:00 <Bulby[m]> from command line, sorry
11:13:20 <yushyin> dbus-send
11:13:30 <Bulby[m]> how do I know the socket name
11:15:12 <Bulby[m]> and what lib should I use? dbus (all lowercase) has no docs but DBus does
11:15:14 <yushyin> there are well-known message bus paths, clients will try to find one and just connect to it.
11:16:00 <Bulby[m]> yes, but that dbus-send command will be set in stone (or at best dependent on envvars)
11:16:35 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
11:18:42 gehmehgeh joins (~user@user/gehmehgeh)
11:19:58 gpncarl_ joins (~gpncarl@222.249.231.3)
11:20:10 jinsun__ joins (~jinsun@user/jinsun)
11:20:39 <yushyin> seems like the dbus lib is at least somewhat maintained
11:20:55 <Bulby[m]> and two versions back it has docs
11:20:59 × gpncarl quits (~gpncarl@222.249.231.3) (Ping timeout: 246 seconds)
11:21:13 <yushyin> check out the examples and/or the freedesktop tutorial on dbus and see what you can do with that
11:21:17 lyiriyah[m] joins (~lyiriyahm@2001:470:69fc:105::cc0)
11:21:26 <yushyin> https://dbus.freedesktop.org/doc/dbus-tutorial.html
11:21:27 <Bulby[m]> what examples
11:21:36 <yushyin> https://github.com/rblaze/haskell-dbus/tree/master/examples
11:22:46 <Bulby[m]> ah, so the bus is an open thing... and I can tune in to only 1 event than dbus-send will send to
11:23:36 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 272 seconds)
11:23:40 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
11:24:22 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
11:29:36 × machinedgod quits (~machinedg@24.105.81.50) (Remote host closed the connection)
11:30:35 acidjnk joins (~acidjnk@p200300d0c73b45335982c41922b7b0a0.dip0.t-ipconnect.de)
11:30:44 machinedgod joins (~machinedg@24.105.81.50)
11:31:45 <yushyin> Bulby[m]: it's a message bus for IPC, with some processes providing 'services' via this message bus and other processes accessing these services (sending messages,getting messages)
11:32:10 <Bulby[m]> I will figure it out eventually 😄
11:33:53 <yushyin> it has a pretty high-level object model with interfaces, methods, signals ... one has to read up a bit on the subject first
11:34:53 <Bulby[m]> I HATE READING! I LOVE STUMBLING INTO SOLUTONS!
11:40:08 Hiring joins (~Hiring@31.222.238.38)
11:40:29 xff0x_ joins (~xff0x@om126158204045.30.openmobile.ne.jp)
11:40:55 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds)
11:41:17 × coot quits (~coot@213.134.190.95) (Quit: coot)
11:41:38 × xaotuk quits (~sasha@gore.copyleft.no) (Ping timeout: 246 seconds)
11:42:14 <geekosaur> mrrr. dbus is client side only, apparently
11:42:35 <geekosaur> DBus was the first release of what is now dbus
11:42:38 <Bulby[m]> i am not sending anything
11:42:46 <geekosaur> ok
11:43:54 xaotuk joins (~sasha@109.245.225.166)
11:45:08 × pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 246 seconds)
11:47:16 pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee)
11:48:15 <geekosaur> well, maybe not ok. sending is notthe point of client side vs. server side, a server might well only receive. you still need the ability to establish a new endpoint versus connecting to an existing one, etc.
11:48:42 <geekosaur> although that little Iknowof the dbus api should cover that part at least
11:49:02 dminuoso joins (~dminuoso@static.88-198-218-68.clients.your-server.de)
11:50:48 <Bulby[m]> dbus seems to have no convientional access to the IO monad 😱 meaning unsafePerformIO
11:51:07 <geekosaur> https://github.com/geekosaur/xmonad.hs/blob/skkukuk/xmonad.hs#L241-L252 as client, sending to a server written in C (see also https://github.com/geekosaur/xmonad.hs/blob/skkukuk/xmonad.hs#L80-L82)
11:51:59 <geekosaur> I don't understand that comment, its operations run in IO as shown in my links
11:52:29 <Bulby[m]> I mean I want to println in the callback
11:52:32 _xor joins (~xor@74.215.232.169)
11:56:51 <Bulby[m]> oh, AutoMethod lets me use IO 😶
11:57:37 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
11:59:02 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 250 seconds)
12:01:01 × dminuoso quits (~dminuoso@static.88-198-218-68.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
12:04:37 dminuoso joins (~dminuoso@static.88-198-218-68.clients.your-server.de)
12:06:19 × dminuoso quits (~dminuoso@static.88-198-218-68.clients.your-server.de) (Client Quit)
12:09:28 dminuoso joins (~dminuoso@static.88-198-218-68.clients.your-server.de)
12:10:23 × dminuoso quits (~dminuoso@static.88-198-218-68.clients.your-server.de) (Client Quit)
12:11:19 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:12:21 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 276 seconds)
12:12:22 × mattil quits (~mattil@helsinki.portalify.com) (Ping timeout: 272 seconds)
12:13:15 dminuoso joins (~dminuoso@user/dminuoso)
12:14:37 × dminuoso quits (~dminuoso@user/dminuoso) (Client Quit)
12:14:50 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
12:15:59 dminuoso joins (~dminuoso@user/dminuoso)
12:22:52 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:26:11 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
12:27:39 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
12:30:16 mikoto-chan joins (~mikoto-ch@213.177.151.239)
12:32:29 cross joins (~cross@spitfire.i.gajendra.net)
12:32:44 × jespada_ quits (~jespada@146.70.119.92) (Ping timeout: 260 seconds)
12:35:31 jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net)
12:42:06 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
12:42:15 × Pickchea quits (~private@user/pickchea) (Ping timeout: 276 seconds)
12:42:54 × [Leary] quits (~Leary]@122-58-90-96-vdsl.sparkbb.co.nz) (Remote host closed the connection)
12:43:08 [Leary] joins (~Leary]@122-58-90-96-vdsl.sparkbb.co.nz)
12:44:38 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
12:48:23 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.4.1)
12:49:11 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
12:57:58 zer0bitz joins (~zer0bitz@2001:2003:f444:8f00:9939:dfc8:bfb9:90c2)
12:58:50 × jespada quits (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) (Ping timeout: 250 seconds)
13:02:03 jespada joins (~jespada@194.37.96.158)
13:08:50 geranim0 joins (~geranim0@modemcable242.171-178-173.mc.videotron.ca)
13:18:17 shlevy[m] joins (~shlevymat@2001:470:69fc:105::1:d3b1)
13:19:59 × acidjnk quits (~acidjnk@p200300d0c73b45335982c41922b7b0a0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:21:16 Guest5420 joins (~Guest54@c-73-151-189-117.hsd1.ca.comcast.net)
13:21:56 Simon76 joins (~Simon@2001:4ca0:0:f237:9dd4:cf64:12cb:6b07)
13:22:25 Guest5420 parts (~Guest54@c-73-151-189-117.hsd1.ca.comcast.net) ()
13:24:39 vorpuni joins (~pvorp@2001:861:3881:c690:691f:4814:d40:6070)
13:27:26 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
13:27:45 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
13:30:01 × ystael quits (~ystael@user/ystael) (Quit: Lost terminal)
13:31:59 abastro joins (~abab9579@192.249.26.99)
13:41:32 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
13:41:32 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
13:41:32 wroathe joins (~wroathe@user/wroathe)
13:45:45 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:50:50 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
13:51:15 Andrew is now known as AndrewYu
13:51:56 ubert1 joins (~Thunderbi@2a02:8109:9880:303c:2b38:2bad:43a9:a91c)
13:53:56 AndrewYu is now known as Andrew
13:54:14 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:55:03 ystael joins (~ystael@user/ystael)
13:56:21 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
13:58:09 zmt00 joins (~zmt00@user/zmt00)
13:58:14 shriekingnoise joins (~shrieking@201.231.16.156)
13:59:11 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds)
14:00:27 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
14:02:56 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
14:03:43 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
14:03:58 coot joins (~coot@213.134.190.95)
14:07:00 × akegalj quits (~akegalj@93-138-184-212.adsl.net.t-com.hr) (Quit: leaving)
14:08:15 Guest9846 joins (~Thunderbi@240e:474:1c2:42c0:611f:3dbf:5d1e:14)
14:08:57 <Guest9846> how to install haskell on ubuntu?
14:09:54 <geekosaur> https://haskell.org/ghcup
14:10:01 <geekosaur> the packaged ghc is way too old
14:10:20 <Guest9846> how about haskell-platform
14:10:49 <geekosaur> haskell-platform was discontinued
14:11:08 <geekosaur> it's better to let build tools like stack and cabal manage libraries for you
14:11:53 <Guest9846> ok
14:12:55 × Guest9846 quits (~Thunderbi@240e:474:1c2:42c0:611f:3dbf:5d1e:14) (Quit: Guest9846)
14:13:00 <geekosaur> the closest we get to "platforms" is stack LTS resolvers, but even then y... feh
14:15:12 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 276 seconds)
14:16:16 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
14:17:21 × Simon76 quits (~Simon@2001:4ca0:0:f237:9dd4:cf64:12cb:6b07) (Quit: Client closed)
14:18:15 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:23:54 searemind joins (~searemind@122.161.49.176)
14:24:22 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:24:24 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:25:33 × searemind quits (~searemind@122.161.49.176) (Remote host closed the connection)
14:25:58 searemind joins (~searemind@122.161.49.176)
14:29:30 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds)
14:29:45 × Brandon_IX quits (~brandon@178-79-138-117.ip.linodeusercontent.com) (Quit: leaving)
14:30:34 justsomeguy joins (~justsomeg@user/justsomeguy)
14:31:03 dextaa4 joins (~dextaa@user/dextaa)
14:31:40 vicfred joins (~vicfred@user/vicfred)
14:35:34 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
14:36:33 Sgeo joins (~Sgeo@user/sgeo)
14:36:59 Pickchea joins (~private@user/pickchea)
14:38:50 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
14:39:43 × searemind quits (~searemind@122.161.49.176) (Quit: 0.9.4)
14:43:38 × abastro quits (~abab9579@192.249.26.99) (Ping timeout: 246 seconds)
14:45:38 searemind joins (~searemind@122.161.49.176)
14:46:19 × searemind quits (~searemind@122.161.49.176) (Client Quit)
14:47:52 mmhat joins (~mmh@55d4c7b7.access.ecotel.net)
14:48:44 Bulby[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/6a10a5aac52fcc1a4dd97626b3f8765949929c47
14:52:54 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 276 seconds)
14:53:28 mvk joins (~mvk@2607:fea8:5ce3:8500::aa1d)
14:54:28 <geekosaur> what's the other side look like? the example code I've seen suggests you don't have that quite right
14:55:16 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:55:41 <geekosaur> that said I'm not a dbus expert
14:56:52 yauhsien joins (~yauhsien@61-231-45-36.dynamic-ip.hinet.net)
14:57:53 <Bulby[m]> https://paste.tomsmeding.com/oIiQXaNe
15:00:26 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Quit: Leaving)
15:01:02 × cdman quits (~dcm@user/dmc/x-4369397) (Quit: Leaving)
15:01:13 × yauhsien quits (~yauhsien@61-231-45-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
15:01:23 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:02:42 <geekosaur> hm, that seems to match up, assuming the method you're sending is the Introspect one
15:02:53 <Bulby[m]> yes
15:03:07 <Bulby[m]> so why is it not printing
15:03:18 × Pickchea quits (~private@user/pickchea) (Ping timeout: 276 seconds)
15:03:18 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 276 seconds)
15:04:05 <geekosaur> UnknownObject suggests the client didn't get registered somehow, unless what it's saying is you missed some step to make it introspectable
15:04:25 <geekosaur> since you don't seem to register any methods, just the object, that may be the problem
15:06:59 <Bulby[m]> that autoMethod function it takes in is `String -> IO String`, so when I call the method it should be printing that string
15:09:17 Brandon_IX joins (brandon@2a01:7e00::f03c:92ff:feab:6b7c)
15:09:31 <geekosaur> but the method you're calling is org.freedesktop.DBus.Introspectable.Introspect, isn't it?
15:09:59 <Bulby[m]> yes, but that can be called on any client, no?
15:11:18 <geekosaur> I would guess it needs some support so it can send back what methods the client can accept
15:13:23 × xaotuk quits (~sasha@109.245.225.166) (Ping timeout: 246 seconds)
15:19:41 × xff0x_ quits (~xff0x@om126158204045.30.openmobile.ne.jp) (Read error: Connection reset by peer)
15:20:51 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:8229:e9bc:f0d0:5ffc) (Quit: WeeChat 2.8)
15:23:03 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
15:23:18 <geekosaur> hm. actually if I read the introspection example correctly you call it differently. (I'm rummaging around in the source package)
15:23:32 <Bulby[m]> ah, I have fixed it, it was my object path
15:23:38 <geekosaur> yes
15:24:02 fendor_ joins (~fendor@178.115.43.124.wireless.dyn.drei.com)
15:24:18 takuan joins (~takuan@178-116-218-225.access.telenet.be)
15:25:10 Bulby[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/7154e75622d062b80bc9a88bd43084a1e2844b82
15:25:59 <Bulby[m]> that will be... fun
15:26:48 × fendor quits (~fendor@178.165.165.71.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
15:27:30 <geekosaur> you have to annotate stuff with HasCallStack constraints to get a meaningful call stack
15:28:04 <Bulby[m]> I mean, i'm surprised it showed up here at not over at the main terminal
15:28:47 f-a joins (f2a@f2a.jujube.ircnow.org)
15:31:54 × Hiring quits (~Hiring@31.222.238.38) (Quit: Client closed)
15:33:19 × merijn quits (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
15:33:29 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
15:33:46 <geekosaur> my guess is that's from --print-reply and something unexpected went wrong processing the request
15:35:32 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
15:36:19 × alp_ quits (~alp@user/alp) (Ping timeout: 240 seconds)
15:38:35 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Quit: WeeChat 3.5)
15:39:11 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
15:39:56 <Bulby[m]> 😍 IT WORKS
15:40:12 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
15:40:43 merijn joins (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl)
15:40:58 <geekosaur> I'm curious as to why you went with string when dbus supports typed values
15:41:26 <Bulby[m]> you can pipe in any value
15:43:58 <monochrom> I guess you want to accept any string and do your own parsing and basically reinvent the wheel.
15:44:10 f-a parts (f2a@f2a.jujube.ircnow.org) ()
15:44:20 f-a joins (f2a@f2a.jujube.ircnow.org)
15:44:40 <Bulby[m]> no, I don't parse anything. it just gets tossed into a string formatter and displayed on the status bar
15:46:38 <Bulby[m]> that error earlier is me forgetting to fill in the format
15:46:51 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
15:46:59 × slaydr quits (~slaydr@173.239.197.19) (Remote host closed the connection)
15:47:03 × coot quits (~coot@213.134.190.95) (Quit: coot)
15:47:11 <EvanR> what does the d in dbus stand for
15:47:47 <monochrom> Wikipedia says "desktop".
15:48:05 <Bulby[m]> 🖥️🚌
15:48:09 <monochrom> I would guess so too, the people are freedesktop.org
15:48:25 <megaTherion> it isnt even busd
15:48:38 <monochrom> heh
15:48:52 <monochrom> They have systemd, we have system fc. >:)
15:49:13 monochrom mv /usr/bin/ghc /usr/bin/systemfc
15:49:15 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:50:32 lbseale joins (~ep1ctetus@user/ep1ctetus)
15:51:25 × dsrt^ quits (~dsrt@50.227.69.228) (Remote host closed the connection)
15:52:01 <EvanR> mv /bin/mv /bin/mv
15:53:22 <monochrom> Oh wait https://richarde.dev/papers/2017/dep-haskell-spec/dep-haskell-spec.pdf has both a system d and a system dc :)
15:53:43 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
15:55:05 <jonathanx> I am looking into lenses, and made a Traversable' using = row :: Int -> Traversal' (Matrix a) a
15:55:05 <jonathanx> row r = lens (Matrix.getRow' r) (Matrix.setRow r) . Lens.traverse
15:55:28 comerijn joins (~merijn@86-86-29-250.fixed.kpn.net)
15:55:57 <jonathanx> Now I want to turn it into an IndexedTraversable (Where the index is the vector index= Int)
15:56:13 <jonathanx> But when I try to look up how to do it I get lost in lenses typeclasses
15:57:29 × merijn quits (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
15:58:06 <jonathanx> can anyone hint me in some direction? :)
16:00:06 × eddiemundo quits (~eddiemund@2001:470:69fc:105::a80) (Quit: You have been kicked for being idle)
16:01:25 stackdroid18 joins (14094@user/stackdroid)
16:02:31 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:02:40 × comerijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Quit: Lost terminal)
16:05:11 × lbseale quits (~ep1ctetus@user/ep1ctetus) (Quit: Leaving)
16:07:39 lbseale joins (~ep1ctetus@user/ep1ctetus)
16:10:38 × oxide quits (~lambda@user/oxide) (Quit: oxide)
16:13:17 searemind joins (~searemind@122.161.49.176)
16:14:09 × dextaa4 quits (~dextaa@user/dextaa) (Remote host closed the connection)
16:14:09 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:20:45 × ubert1 quits (~Thunderbi@2a02:8109:9880:303c:2b38:2bad:43a9:a91c) (Remote host closed the connection)
16:20:46 × mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds)
16:21:33 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:24:34 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:26:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
16:28:06 raehik joins (~raehik@178.251.171.164)
16:29:09 hololeap joins (~hololeap@user/hololeap)
16:31:56 <jonathanx> I figured it out!
16:32:40 <jonathanx> I still haven't found a good way to "discover" lenses, since all the type machinery makes it unhoogleable
16:33:24 <jonathanx> What's the best way to learn them on a higher level that doens't involve building a personal relationship with kmett?
16:33:53 <EvanR> you're basically a lens jedi now. Despite everyone in the star wars universe / haskell universe having lightsabers / lenses, you have to invent your own instead of picking them up at the corner store
16:34:32 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:34:53 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:35:16 <jonathanx> right, I'll add "Make a competitor to Control.Lens" to my todo list
16:35:34 <EvanR> I mean, build the final lens from first principles
16:35:47 × searemind quits (~searemind@122.161.49.176) (Quit: 0.9.4)
16:36:03 <EvanR> also there are other lens libs that claim to be easier, like optics
16:37:08 <jonathanx> I think most haskell libraries claim to be better than their competitors in some ways, and it's hard to know what's actually better until you've tried it
16:37:19 <jonathanx> and now I feel invested :D
16:37:56 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
16:40:07 <EvanR> honestly I think it's easier to grok such esoteric nonsense by getting as many perspectives at once xD
16:40:24 × ralu1 quits (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
16:40:41 <Rembane> Trying to see patterns in the operators is also quite useful imo
16:40:55 ralu1 joins (~ralu@static.211.245.203.116.clients.your-server.de)
16:41:17 <EvanR> I don't even see lenses anymore, just blonde brunette redhead...
16:43:03 mikoto-chan joins (~mikoto-ch@213.177.151.239)
16:49:05 <Zemyla> I know what lenses are, I know how they work, but I don't know all the operators in Control.Lens.
16:49:32 <geekosaur> neither do I, but they follow enough of a pattern that I can often guess at them
16:49:43 <Rembane> I want an AI that finds the most useful lens without me searching for it.
16:50:25 <maerwald> Rembane: if only that was a joke
16:50:41 <Rembane> maerwald: Yeah...
16:51:01 <monochrom> Why not go one step further, an AI that writes the complete code.
16:51:07 <Rembane> maerwald: Can the typed holes functionality help with that? I haven't dared trying.
16:52:14 <maerwald> Deriving code from specifications is nothing new and you don't need an AI for it.
16:52:50 econo joins (uid147250@user/econo)
16:53:11 <maerwald> But people probably want an AI to tell them what they want to build
16:53:16 <maerwald> so there we go
16:53:21 <Rembane> That's true, but where would I get my VC money if I didn't have an AI?
16:53:36 mc47 joins (~mc47@xmonad/TheMC47)
16:55:31 <EvanR> can my AI generate a gamified tech tree with the steps needed to do my project
16:55:45 <EvanR> I'll even do the steps, as a compromise
16:56:23 <monochrom> No, the AI should also do the steps. You are no longer needed.
16:57:15 <monochrom> To be sure, there is stiil room for you in recreational programming contests.
16:57:53 <monochrom> The same way we have maranthons as games but public transit and cargo logistics don't actually rely on runners.
16:59:02 <monochrom> There are spelling bee contests but you don't actually hire a winner for spellchecking in production.
17:01:50 <monochrom> When AI finally takes over the full devop stack, we can finally go back to programming just for fun and aesthetics. No more worries about "you don't do this in production code" or "best practices". Isn't that liberating and brave?
17:02:07 f-a parts (f2a@f2a.jujube.ircnow.org) ()
17:02:47 <geekosaur> until your production falls over because the AIs are too busy arguing over best practices :)
17:02:56 <monochrom> haha
17:04:17 <geekosaur> AIs produced by humans will have the same shortcomings humans do. this has already been demonstrated (AIs have sexism and racism biases)
17:08:42 <EvanR> the AIs determine java and go are the most viable languages and we are all disappoint
17:09:23 <monochrom> "why learn haskell? it is not used by skynet" >:)
17:09:45 <geekosaur> "No more worries about "you don't do this in production code" or "best practices". Isn't that liberating and brave?"
17:09:48 × cosimone quits (~user@93-44-185-79.ip98.fastwebnet.it) (Read error: Connection reset by peer)
17:09:51 <geekosaur> frees us to program inHaskell
17:10:04 <geekosaur> let Skynet have Skynet languages :)
17:10:53 <EvanR> then they use java and go in a way that doesn't have security holes and we are screwed
17:12:17 <EvanR> "why were you guys so bad at security" skynet says
17:15:13 <Rembane> "It's a human thing" <- all humans
17:15:23 mvk joins (~mvk@2607:fea8:5ce3:8500::aa1d)
17:16:07 eraziel joins (~eraziel@modemcable169.17-58-74.mc.videotron.ca)
17:16:34 <eraziel> is there an ergonomic way to expose record fields but also forbid record updates ?
17:16:40 <eraziel> I want read only access to record fields, essentially
17:16:50 <maerwald> use... functions
17:18:05 <monochrom> If you have "data X = X{x::Int}", something about "module M(X, x)"
17:18:47 × ptrcmd quits (~ptrcmd@user/ptrcmd) (Ping timeout: 240 seconds)
17:19:11 <eraziel> but then you can use the record update syntax with x
17:19:20 <eraziel> which I only figured out today somehow
17:19:30 <monochrom> No, one would need X(..) for record update syntax.
17:19:31 <eraziel> and I'd like to prevent that
17:19:45 ptrcmd joins (~ptrcmd@user/ptrcmd)
17:19:45 <maerwald> monochrom: you don't need the constructor to do a record update?
17:19:53 <maerwald> eraziel: use functions
17:19:56 <eraziel> no you don't
17:20:05 <eraziel> yeah functions work, obviously
17:20:13 <monochrom> OK let me be clearer with one fewer name clash.
17:20:24 <monochrom> If you have "data X = Mk{x::Int}", something about "module M(X, x)"
17:21:06 ec joins (~ec@gateway/tor-sasl/ec)
17:21:12 <eraziel> that still allows "yourInstance {x = 42}"
17:21:23 × ec quits (~ec@gateway/tor-sasl/ec) (Client Quit)
17:21:24 <eraziel> I just tested it :x
17:21:29 <monochrom> Ah OK sorry.
17:21:35 ec joins (~ec@gateway/tor-sasl/ec)
17:22:15 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:23:16 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
17:24:28 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
17:24:42 ec joins (~ec@gateway/tor-sasl/ec)
17:24:45 <monochrom> Hrm, record pattern synonym is a thing. Maybe you can make a unidirectional pattern synonym, lacking the construct direction.
17:24:57 <EvanR> haskell gives up and includes "const keyword" as well as "private keyword" to the next version of the standard
17:24:59 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 240 seconds)
17:25:56 <monochrom> Yeah it can "For a unidirectional record pattern synonym we define record selectors but do not allow record updates or construction."
17:26:50 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
17:27:01 ec joins (~ec@gateway/tor-sasl/ec)
17:27:23 <eraziel> EvanR: do you have a link with more information ?
17:27:26 × raehik quits (~raehik@178.251.171.164) (Ping timeout: 246 seconds)
17:27:48 <monochrom> I think EvanR was joking.
17:27:55 <eraziel> lmao damn
17:27:59 Hiring joins (~Hiring@31.222.238.38)
17:28:06 <eraziel> I'll look into pattern synonyms I guess
17:28:43 <eraziel> I wish we had something like Rust "submodule in a file" to unit test private things like this :/
17:29:04 <monochrom> You won't regret investing time into learning pattern synonyms. It's liberating.
17:29:23 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
17:29:56 <EvanR> first law of private members of a module is that someone will always want to access it
17:30:12 × ec quits (~ec@gateway/tor-sasl/ec) (Client Quit)
17:30:17 <monochrom> Ah yes submodules are great. Why not? Racket has it, Rust has it, everyone has it...
17:30:23 ec joins (~ec@gateway/tor-sasl/ec)
17:30:44 <Rembane> Or put it into an Internal module, write "plz no" at the top of it and then done.
17:30:46 <EvanR> I've been joking about silly aspects of OOP languages, and here we are with "one module per file" silliness for real
17:30:57 <monochrom> We can have nested functions and nested let and nested do-notation, why not also nested modules... OK I'll stop.
17:31:14 <Rembane> Why can't we have nested irc channels?
17:31:22 cosimone joins (~user@93-44-185-79.ip98.fastwebnet.it)
17:31:25 <monochrom> :)
17:31:48 <__monty__> +1 for Agda-style modules.
17:32:03 <monochrom> Please don't tempt me. After we have nesting, next I will demand "why limit to trees? I want DAGs..."
17:32:22 <Rembane> monochrom: Are you gonna put Turing complete modules into Haskell? :O
17:32:34 <monochrom> Nah don't worry I'll stop at DAGs.
17:33:14 <monochrom> I understand that, for example, wanting cycles is unfair and often bad.
17:34:20 <EvanR> cycles are unfair?
17:34:25 <monochrom> But Perl probably does Turing-complete modules.
17:34:56 <Rembane> Generally recursive modules must be good.
17:35:46 <geekosaur> perldoesn't really do modules. it just runs them, they work iff they follow the conventions
17:36:23 <geekosaur> (or if they follow a different set of conventions, they become pragmas instead of modules)
17:38:15 <geekosaur> (remember, folks, "package" is not a compile-time entity….)
17:39:07 <monochrom> That probably means Turing-complete module system and in addition Turing-complete pragma system. Under the interpretation "if you follow a certain convention, people agree that you're doing a module/pragma".
17:39:33 <janus> geekosaur: what do you mean by not being a compile-time entity? there is PackageImports
17:40:00 <monochrom> So for example suppose I say "if <arbitrary program> <code that follows the convention that people read as importing a module>"
17:40:23 × Brandon_IX quits (brandon@2a01:7e00::f03c:92ff:feab:6b7c) (Quit: WeeChat 3.0)
17:40:23 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:42:43 thyriaen joins (~thyriaen@ip5f5af2d7.dynamic.kabel-deutschland.de)
17:43:42 <geekosaur> janus, I was talking about monochrom's Perl comment
17:43:58 <geekosaur> not Haskell imports
17:44:14 <janus> oh, i thought it must've been haskell because it said compile
17:44:24 <monochrom> heh
17:44:38 <geekosaur> even perl has a compile phase (and so does python)
17:44:52 <janus> just-in-time-compilation?
17:45:10 <geekosaur> in fact if you go looking at your system's python install you'll see a bunch of *.pyc files which are the saved result of compilation
17:45:22 <geekosaur> but usually they aren't saved for user code
17:45:36 <geekosaur> there is still a distinct compile pass though
17:46:06 <janus> but i remember people putting binary data at the end of perl files
17:46:14 <janus> and then prefixing it with an unpack step
17:46:34 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
17:46:42 <geekosaur> that's a different kind of hack
17:47:00 <janus> but i don't understand how you can compile a perl file that has stuff like that
17:47:08 <monochrom> When bytecodes like that are involved, whether you call it "interpret" or "compile" is just community convention.
17:47:10 <janus> cause to preserve the binary blob, it would have to be part of the ast
17:47:20 <janus> but asts don't typically have stuff like that
17:47:29 <geekosaur> go look at __DATA__
17:48:06 <monochrom> And Perl adds nuance because it iterates over an interleaving of parsing, making bytecode, running bytecode.
17:48:07 <geekosaur> it's a magic filehandle consisting of the source file following the __DATA__ line
17:48:08 <EvanR> bytecodes as opposed to machine code which is made of... also bytes
17:48:37 <geekosaur> so the AST ends but there's a special filehandle opened on the rest of the file
17:49:09 <monochrom> Yes I would rather say P-code than bytecode.
17:49:23 <monochrom> The idea started with many Pascal implementations.
17:49:29 <monochrom> Hence the P.
17:49:55 <monochrom> But who remembers that? Millenials only know as far back as Java, and even then barely.
17:50:13 <janus> i think it is misleading to say you compile myscript.pl if you actually only compile the first part and require the RTS to open a file descriptor on the rest
17:50:45 <geekosaur> that is not the kind of compiling I was talking about
17:51:26 <monochrom> ooohhhh Perl has __DATA__ sections? \∩/ BASIC and COBOL had that too...
17:52:29 <geekosaur> you can (or could; it seems to have been discontinued, probably because it was mostly worthless) compile a perl script with perl -c
17:52:42 <geekosaur> this does not give you a binary blob at the end of the perl script, but a separate file
17:52:52 <geekosaur> you just don't gain much from doing it
17:53:02 <EvanR> Perl: COBOL of the... oh
17:53:13 <monochrom> ;)
17:54:26 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
17:56:22 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
17:56:30 <geekosaur> mm, slightly wrong, -c is check mode
17:56:40 <EvanR> I wonder if haskell has packages to effectively support anything COBOL could do
17:56:47 <geekosaur> I don't recall how you did precompilation, but it hardly matters because you get so little out of it
17:57:26 <geekosaur> 99% of what cobol could do was read/write binary (or card reader/punch) formatted records and sort
17:58:01 <monochrom> I think Okasaki figured out a trick to define things so that "multiple x by y" type-checks and equals to x*y, but it causes type inference to take exponential time.
17:58:23 <EvanR> lol
17:58:49 <monochrom> But OK in the case of mimicking COBOL you just have "multiple x by y", that's already the longest thing possible, so OK.
17:59:16 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:59:30 <monochrom> But Okasaki was figuring out how to, e.g., "begin 1 2 3 4 end = [1,2,3,4]", and that's when the program length can be arbitrarily long.
17:59:39 <EvanR> this brochure on cobol from earlier this year from GNU COBOL project side, is the concrete syntax really the most compelling feature
17:59:50 <EvanR> aside*
18:00:28 <geekosaur> the most compelling feature for cobol is being able to keep using the same programs you were 40 years ago
18:00:32 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
18:00:40 <geekosaur> this actually means a lot to many businesses
18:00:56 <geekosaur> (although thta raises the question of why the FSF cares what said businesses think)
18:01:07 <EvanR> not exactly AGILE
18:01:21 <geekosaur> agile is pretty much the opposite of what they want
18:02:12 <monochrom> Unpopular opinion: Dragons are web-scale. They have webs, and they have scales.
18:04:31 vicfred joins (~vicfred@user/vicfred)
18:04:44 <EvanR> GNU COBOL can only be a way of sticking it to the man because other COBOL products are apparently pricey
18:05:22 kilolympus joins (~kilolympu@31.205.200.235)
18:05:26 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
18:05:57 <EvanR> or maybe it's to accelerate the collapse of the market and so the technology
18:06:07 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
18:07:36 fr33domlover joins (~fr33@141.226.183.231)
18:08:28 <geekosaur> well, actually they only care about business to the extent that they don't TiVoify it, which seems unlikely for COBOL
18:08:51 <geekosaur> and for selling support, which is especially important to these businesses, they want someone on call 24/7 for problems
18:09:09 <geekosaur> Internet support isn't going to interest them
18:09:26 <Bulby[m]> i thought the node devs were maintaining COBOL /s
18:10:06 × mbuf quits (~Shakthi@182.64.156.25) (Quit: Leaving)
18:11:05 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:11:21 <geekosaur> they just haven't learned the lessons of COBOL
18:11:32 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
18:12:08 <geekosaur> to wit: there are fields in which you can have a program that is stable and does not need to be changed any more, and it can and will keep doing the thing it was designed to do for years, even decades
18:12:11 <geekosaur> and this is OKAY
18:12:14 × fr33domlover quits (~fr33@141.226.183.231) (Client Quit)
18:12:45 × deadmarshal_ quits (~deadmarsh@95.38.115.70) (Ping timeout: 256 seconds)
18:12:58 <EvanR> can more fields have this? please
18:13:07 <geekosaur> you don't need 50 reimplementations of it, you don't need bells and whistles, it just works.
18:20:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
18:21:06 acidjnk joins (~acidjnk@p200300d0c73b45335982c41922b7b0a0.dip0.t-ipconnect.de)
18:22:12 × redb quits (~nmh@136.49.49.211) (Ping timeout: 276 seconds)
18:23:02 hololeap joins (~hololeap@user/hololeap)
18:25:46 dcoutts_ joins (~duncan@host213-122-143-245.range213-122.btcentralplus.com)
18:27:20 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:29:59 × zyklotomic quits (~ethan@res380d-128-61-86-213.res.gatech.edu) (Ping timeout: 240 seconds)
18:30:44 × thyriaen quits (~thyriaen@ip5f5af2d7.dynamic.kabel-deutschland.de) (Quit: Leaving)
18:31:21 <shlevy[m]> Does anyone know what, if anything, would break if I built a stage 1 ghc with the internal interpreter? I do *not* want this for TemplateHaskell, plan to use `iserv` for that, I want this to enable https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7377
18:32:16 zyklotomic joins (~ethan@r4-128-61-95-41.res.gatech.edu)
18:32:29 <geekosaur> that's probably a question for #ghc, not #haskell, but I could see problems if the bootstrap ghc's version doesn't match the stage 1's version
18:33:22 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:37:42 <geekosaur> (in particular the stage1 ghc will be using the bootstrap version's RTS, which suggests to me that wired-ins may not match for code executed during compilation)
18:39:54 CiaoSen joins (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
18:42:22 <shlevy[m]> geekosaur: Ah, didn't remember #ghc, thanks
18:43:02 Pickchea joins (~private@user/pickchea)
18:43:04 simendsjo joins (~user@84.211.91.241)
18:45:03 <shlevy[m]> <geekosaur> "(in particular the stage1 ghc..." <- I'd compile with the bootstrap compiler, but *against* the ghc lib of stage1
18:47:55 × megaTherion quits (~therion@unix.io) (Ping timeout: 260 seconds)
18:49:03 redb joins (~nmh@136.49.49.211)
18:53:33 × redb quits (~nmh@136.49.49.211) (Ping timeout: 256 seconds)
18:53:33 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
18:58:19 × simendsjo quits (~user@84.211.91.241) (Remote host closed the connection)
19:01:31 × geranim0 quits (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
19:01:42 jmdaemon joins (~jmdaemon@user/jmdaemon)
19:02:54 megaTherion joins (~therion@unix.io)
19:03:36 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
19:04:06 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
19:04:15 × averell quits (~averell@user/averell) (Quit: .)
19:09:12 averell joins (~averell@user/averell)
19:10:31 × [Leary] quits (~Leary]@122-58-90-96-vdsl.sparkbb.co.nz) (Remote host closed the connection)
19:10:47 [Leary] joins (~Leary]@122-58-90-96-vdsl.sparkbb.co.nz)
19:12:39 × ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:5717:8bb4:874e:9726) (Remote host closed the connection)
19:13:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
19:16:07 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:18:15 hololeap joins (~hololeap@user/hololeap)
19:19:26 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
19:20:10 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:21:07 redb joins (~nmh@136.49.49.211)
19:24:49 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
19:25:33 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
19:25:51 × redb quits (~nmh@136.49.49.211) (Ping timeout: 256 seconds)
19:26:16 × myme quits (~myme@2a01:799:d5a:cd00:7ca6:39bc:e22b:ee2b) (Ping timeout: 248 seconds)
19:27:15 myme joins (~myme@2a01:799:d5a:cd00:39b8:863a:6d20:cd9e)
19:27:36 deadmarshal_ joins (~deadmarsh@95.38.113.141)
19:28:41 × eraziel quits (~eraziel@modemcable169.17-58-74.mc.videotron.ca) (Quit: Client closed)
19:30:46 mikoto-chan joins (~mikoto-ch@213.177.151.239)
19:32:24 × deadmarshal_ quits (~deadmarsh@95.38.113.141) (Ping timeout: 276 seconds)
19:40:26 pavonia joins (~user@user/siracusa)
19:42:31 × vorpuni quits (~pvorp@2001:861:3881:c690:691f:4814:d40:6070) (Ping timeout: 260 seconds)
19:47:42 redb joins (~nmh@136.49.49.211)
19:50:46 Guest91 joins (~Guest91@caliga.eecs.tufts.edu)
19:51:27 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
19:52:33 × redb quits (~nmh@136.49.49.211) (Ping timeout: 276 seconds)
19:56:17 jakalx parts (~jakalx@base.jakalx.net) ()
19:56:58 notzmv joins (~zmv@user/notzmv)
19:57:32 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:00:20 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
20:00:49 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:02:21 <Guest91> Backstory: I'm trying to get a central install -- not a home directory install! -- of GHC and various Haskell tools built for RHEL 8.  I've built ghc-9.2.2, and used ghcup to put a temporary-use 'cabal' binary in ~/.ghcup/bin so I can run 'cabal v1-install' to put stuff centrally.  But the ghcup-provided 'cabal' binary can do no such thing.  No
20:02:21 <Guest91> matter what I try, it barfs out multiple rejections of various dependencies and exits with:
20:02:22 <Guest91> After searching the rest of the dependency tree exhaustively, these were the
20:02:22 <Guest91> goals I've had most trouble fulfilling: [list of all dependencies]
20:02:23 <Guest91> Even something as simple as 'cabal install cabal-install' fails the same way, but 'cabal install xml' works.  It looks like it can't install anything that's already under ~/.ghcup, even though I specifically don't want it to overwrite anything in ~/.ghcup.  Is there any way to force it to install somewhere else?
20:03:13 mastarija joins (~mastarija@2a05:4f46:e04:6000:dcea:d813:208c:e9e1)
20:03:46 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
20:03:47 <Guest91> Note that my final goal is to have a central install of various tools to be shared by multiple users, and my temporary stuff deleted with 'rm -rf ~/.ghcup ~/.ghc ~/.cabal"
20:05:33 redb joins (~nmh@136.49.49.211)
20:06:09 <sclv> Guest91: in the above you've written 'cabal install cabal-install' but did you actually mean to write 'cabal v1-install cabal-install'?
20:06:28 <mastarija> How do I add a flag for the particular package in my cabal.project file?
20:06:29 <Guest91> I tried both; neither worked.
20:06:41 <sclv> note that if you've used any not-v1 cabal install commands you'll have a ghc environment file lying around, and those can cause trouble
20:07:03 <sclv> you should delete the environment file, and use `v1-install --global` _only_
20:07:25 <Guest91> OK, trying to clobber things first then re-ghcup myself a cabal binary.
20:07:37 <sclv> the cabal binary will be the same
20:07:41 <sclv> and you don't need to clobber everything
20:07:47 <sclv> just delete a ghc environment file if it exists
20:07:52 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
20:08:01 <Guest91> Past experience says that clobbering everything is often necessary :/
20:08:05 <sclv> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#package-environments
20:08:08 <geekosaur> also if you have installed ghc using ghcup and have not used the envar to point the install to e.g. /usr/local, "global" will be the ghc library directory under ~/.ghcup
20:08:31 <Guest91> The GHC install I have is standalone, not done with ghcup.
20:08:52 <sclv> then it is confusing that you say "it can't install anything that's already under ~/.ghcup"
20:08:57 <sclv> because no libraries will be under there!
20:09:01 <sclv> just binaries
20:09:10 <sclv> and cabal doesn't know or care about those
20:09:26 <Guest91> Hrm.  Trying again post-clobber.
20:09:51 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:09:58 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
20:10:45 × redb quits (~nmh@136.49.49.211) (Ping timeout: 276 seconds)
20:11:01 <sclv> the environment file i'm warning about will be in $XDG_DATA_HOME/ghc/arch-os-version/environments/default
20:11:33 <Guest91> I don't have that environment variable set.  What does it default to?
20:12:00 × mastarija quits (~mastarija@2a05:4f46:e04:6000:dcea:d813:208c:e9e1) (Quit: Leaving)
20:12:03 <geekosaur> ~/.local on unix
20:12:16 liz joins (~liz@host109-151-125-217.range109-151.btcentralplus.com)
20:12:46 <Guest91> Aha!  OK, clobbering that too.
20:13:33 <Guest91> Nothing in ~/.local/ghc.
20:13:46 <geekosaur> if you have ~/.ghc it may be using that
20:13:51 <geekosaur> (backwards compat)
20:14:16 <Guest91> I whacked that already.  Trying again with a new ~/.ghcup/bin/cabal
20:16:08 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:16:38 <Guest91> Nada.  Same error.
20:17:06 <sclv> oh wait with cabal-install it may be that there's legit no install plan with 9.2.2
20:17:14 <sclv> that's what you get for using the latest compiler
20:17:19 <Guest91> D'oh!
20:17:36 <Guest91> I can fall back to 8.10.7, which is what I used to build 9.2.2.  Will have to check with the instructor though.
20:17:40 <sclv> you can pick out a good universe of libs too
20:17:49 <sclv> i mean... you have the binary
20:17:54 <sclv> no need to be able to bootstrap it
20:18:55 <sclv> most libs you'll want globally installed for end-users should be fine
20:19:47 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:20:05 anomal joins (~anomal@87.227.196.109)
20:20:13 <sclv> (its rather irritating about cabal-install but its release cycle is usually _immediately before_ or coincident with a compiler release, but it can't be built against a stable latest-release until that release already happens, so its frequently one behind)
20:24:28 × pie_ quits (~pie_bnc@user/pie/x-2818909) ()
20:24:51 pie_ joins (~pie_bnc@user/pie/x-2818909)
20:25:22 jakalx joins (~jakalx@base.jakalx.net)
20:26:12 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
20:28:12 <Guest91> So downgrading to an earlier 9.2 might work?
20:28:23 <sclv> not 9.2
20:28:32 <Guest91> 9.1, OK.
20:28:39 <sclv> i'd go with 8.10.7
20:28:43 <sclv> for building cabal-install
20:28:48 <sclv> but again, you have _no need_ to build it
20:28:50 <sclv> you already have it
20:29:00 redb joins (~nmh@136.49.49.211)
20:30:07 <Guest91> I would like to have an install of that somewhere other than my homedir.  Past experience says that many issues with cabal are easily solved by deleting all the cabal and ghc-related directories in ~, and having my only copy of cabal there is problematic.  I suppose I can re-ghcup myself every time.
20:30:09 <sclv> and even if you do build it, that doesn't prevent you from providing a systemwide 9.2.2 in general, it just means that you'll have used 8.10.7 to build a particular binary
20:30:26 <sclv> you don't need to re-ghcup yourself for cabal install. its literally _just_ a binary
20:30:32 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
20:31:44 <sclv> all ghcup does is download and unpack the appropriate binary tarball from https://downloads.haskell.org/cabal/cabal-install-3.6.2.0/
20:31:45 <Guest91> 'cabal v1-install template-haskell' also failed -- and that had no dependency but itself.  Again, something that seems to come with cabal-install, and things not in that stack looked to install fine (zlib, for example)
20:32:07 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:33:07 <sclv> template-haskell is not reinstallable
20:33:07 <sclv> its a "builtin" lib -- its coupled to the compiler and can only be the version that comes with the compiler
20:33:07 <sclv> genrally the things you say "come with cabal-install" are things that come with ghc, and are mainly but not entirelly unreinstallable
20:33:34 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
20:33:36 <Henson> hi everyone, I'm trying to figure out how to do something with existential types. I've boiled it down to a simple example here: https://paste.tomsmeding.com/XmnhxI61 I want to be able to set different types of a class to the foo2 record of the Foo type. Does anybody have any suggestions on how to do this correctly?
20:33:41 <Guest91> Ah, OK.  I just saw it as one of the dependencies that was failing when I tried to get cabal-install to install where I wanted it.
20:34:09 × redb quits (~nmh@136.49.49.211) (Ping timeout: 276 seconds)
20:34:24 <Guest91> And it looked to have no dependencies of its own, which is why I tried it.
20:34:41 jgeerds joins (~jgeerds@d53604b0.access.ecotel.net)
20:36:33 redb joins (~nmh@136.49.49.211)
20:36:49 <Guest91> I will try dropping the cabal binary manually into the appropriate bindir and install only things that I don't already have from ghc itself.
20:37:58 hololeap joins (~hololeap@user/hololeap)
20:39:12 <tomsmeding> Henson: not entirely sure why that doesn't work, but here's another approach: https://play-haskell.tomsmeding.com/play/paste/TLFK6v3P/1
20:39:29 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Quit: mikoto-chan)
20:39:47 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:40:31 <tomsmeding> Henson: at the very least you need a GADT to do this; the (Show a) context (dictionary) on your regular Foo wasn't actually embedded in the data type, so you could never actually _use_ that Show
20:40:43 <tomsmeding> the GADT actually stores the Show dictionary in the data type at runtime
20:41:00 <tomsmeding> (as if you had another `a -> String` field in the data type)
20:42:02 <Henson> tomsmeding: ok, thank you for the suggestion. Haskell suggested either existential quantification or GADTs, so thanks for showing me show it could be done.
20:42:32 <Henson> tomsmeding: but it looks like I have to use pattern matching and that records are not possible?
20:44:26 <tomsmeding> Henson: I think to get the dictionary out of the GADT, you have to pattern match indeed. You can still use records, somewhat, but apparently they seem quite crippled around the existential fields?
20:44:29 <tomsmeding> I'm not sure either
20:44:33 × redb quits (~nmh@136.49.49.211) (Ping timeout: 276 seconds)
20:44:56 redb joins (~nmh@136.49.49.211)
20:45:05 <tomsmeding> like, you can replace the (Foo x _) pattern match by (foo { foo1 = x }) and it works fine, but that doesn't really help
20:45:29 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
20:45:46 Me-me joins (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net)
20:46:12 × CiaoSen quits (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
20:46:31 <Henson> tomsmeding: ok. The thing I'm really trying to do with this is to have a Camera data type that can contain an exposure controller that belongs to a certain class. I would like to try to avoid having the type of the camera also depend on the type of the exposure controller, because it could in principle be altered at run time. Is this the right track for solving my problem?
20:48:31 <Henson> tomsmeding: and what do you mean by "Show dictionary" and "context (dictionary)" in what you were saying?
20:48:31 <tomsmeding> Henson: how practical would it be to make a new data type, `data SomeExpCon where SomeExpCon :: IsExposureController a => a -> SomeExpCon`, and implement the functionality you need of an ExpCon on that data type?
20:48:38 <tomsmeding> ah!
20:49:01 TonyStone joins (~TonyStone@2603-7080-8607-c36a-0019-c4db-1431-3cc1.res6.spectrum.com)
20:49:07 <tomsmeding> Henson: `class Show a where show :: a -> String` becomes `data Show a = ShowDict { show :: a -> String }` at runtime
20:49:34 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
20:49:39 <tomsmeding> and if you write `f :: (A, B) => c -> d -> e`, then at runtime that becomes `f :: (a, b) -> c -> d -> e`
20:50:23 <tomsmeding> when I say a "Show dictionary", I mean the dictionary (i.e. record; GHC calls it a dictionary) containing the definitions of the methods of Show that gets passed around at runtime
20:50:58 <tomsmeding> and at runtime you _need_ that dictionary, because if you write `f :: Show a => a -> String; f x = show x`, and supposing `f` isn't inlined, `f` needs to pull a definition of `show` from _somewhere_
20:51:04 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:51:15 <tomsmeding> and that somewhere is from the dictionary that it also gets passed
20:52:12 × redb quits (~nmh@136.49.49.211) (Remote host closed the connection)
20:52:15 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
20:52:20 redb joins (~nmh@136.49.49.211)
20:52:23 hololeap joins (~hololeap@user/hololeap)
20:52:44 <tomsmeding> Henson: open this https://play-haskell.tomsmeding.com/play/paste/lexvC47g/1 , click Core, and look at the type of Main.$wfoo (it's near the top)
20:52:52 <Henson> tomsmeding: thank you for the explanation. I didn't know that stuff was happening behind the scenes.
20:53:03 <tomsmeding> (so here GHC realised that Show only has one member, so it just inlined that one member)
20:53:27 × zer0bitz quits (~zer0bitz@2001:2003:f444:8f00:9939:dfc8:bfb9:90c2) (Ping timeout: 260 seconds)
20:54:31 <Henson> tomsmeding: interesting. What is this "Tidy Core" output?
20:54:31 <tomsmeding> another example: change foo to `foo :: Eq a => a -> String ; foo x = if x == x && x /= x then "yes" else "no"` and see that it now gets two extra arguments (quiz: what are they :p)
20:55:45 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Quit: leaving)
20:55:49 <geekosaur> core has a lot of extra information in it which is being stripped for readability
20:55:50 goepsilongo joins (~goepsilon@2603-7000-ab00-62ed-8077-381b-a4b0-5dd2.res6.spectrum.com)
20:56:05 <tomsmeding> Henson: GHC parses your program into a Haskell AST, resolves names, typechecks, and then converts into an intermediate language called Core. Most optimisation passes run on Core; this "Tidy Core" output is the state of Core after optimisation. It's a bit like haskell, but has some differences as well. (After Core, the program gets converted to STG, and then to Cmm, and then to machine code)
20:56:06 <geekosaur> there are command line arguments you can use to do the same thing, to inspect core locally
20:56:20 <tomsmeding> yeah this is just `ghc -ddump-simpl Main.hs`
20:56:44 <geekosaur> oh, you don';t do the -dsuppress-uniques or whatever on top?
20:56:54 × redb quits (~nmh@136.49.49.211) (Ping timeout: 276 seconds)
20:57:07 <tomsmeding> geekosaur: https://github.com/tomsmeding/pastebin-haskell/blob/play/bwrap-files/entry.sh#L33
20:57:08 <geekosaur> anyway you can do this locally, I think the dump-core package is the current preferred way to get nice clean core to look at
20:57:18 <monochrom> Add -dsuppress-all to omit some information so you don't get overwhelmed at the beginning.
20:58:54 <monochrom> -dsuppress-unique is a two-edged sword though. Distinct variables look like the same variable.
20:59:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:01:01 <monochrom> Hah feature request:" -duniqueness-seed=1394" so you can get reproducible randomized variable names :)
21:01:44 tomsmeding clicked "Core" multiple times and got identical output
21:01:45 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
21:01:50 hololeap joins (~hololeap@user/hololeap)
21:02:03 <monochrom> Hrm
21:02:07 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
21:02:11 monochrom goes try
21:02:24 <monochrom> Is that 9.0? 9.2? 8.10?
21:02:32 <tomsmeding> https://play-haskell.tomsmeding.com/play/paste/lexvC47g/1
21:02:37 <tomsmeding> select your favourite version!
21:02:49 <geekosaur> I thought they made things fixed these days so reproducible builds were possible
21:02:58 <geekosaur> I may be misremembering though
21:03:05 <EvanR> these records passed around as part of "dictionary passing" are like, the smallest dictionaries ever right xD
21:03:22 <geekosaur> try the dictionary for Foldable :)
21:03:41 <tomsmeding> EvanR: this one has a bunch of stuff as well https://hackage.haskell.org/package/snap-core-1.0.5.0/docs/Snap-Core.html#t:MonadSnap
21:04:17 <EvanR> class MonadSnap where liftSnap
21:04:20 <tomsmeding> (superclasses are fields in the dictionary, evidently)
21:04:20 <monochrom> Nice.
21:04:31 <tomsmeding> (because you need their fields too)
21:04:32 <EvanR> ah I see
21:05:12 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
21:05:25 <EvanR> still that is still small compared to a dictionary
21:05:38 <tomsmeding> thinking about Oxford?
21:05:43 <tomsmeding> I mean, yeah :p
21:05:52 <EvanR> and I imagine indexing is not doing a binary search is it
21:06:14 <monochrom> No, hardcoded offset.
21:07:00 <EvanR> "void star array passing" xD
21:08:09 × kaskal quits (~kaskal@2001:4bb8:2e0:b5bd:e3c0:d71b:f32:84d8) (Quit: ZNC - https://znc.in)
21:08:27 kaskal joins (~kaskal@2001:4bb8:2e0:b5bd:e3c0:d71b:f32:84d8)
21:10:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:10:05 <EvanR> less dictionary and more cheat sheet
21:11:58 <tomsmeding> EvanR: think C struct, that's also not going to do binary search :p
21:12:10 <tomsmeding> that would be the stupidest C compiler ever
21:12:29 <tomsmeding> or, more likely, it's actually a C interpreter
21:13:19 <EvanR> it's funny because in many languages the equivalent of C structs using dictionaries
21:13:36 <EvanR> (very small)
21:13:50 hololeap joins (~hololeap@user/hololeap)
21:14:11 <EvanR> here we don't do that but call them dictionaries xD
21:14:48 <monochrom> Let's start calling them objects, just for fun.
21:15:21 <monochrom> "classes are implemented by object passing" will go on to become a great slogan
21:15:32 alp_ joins (~alp@user/alp)
21:16:13 <tomsmeding> makes me think of an article I read at some point where someone bragged about having worked at google or somesuch and having named a field in a protocol "stuff"
21:17:12 <monochrom> I think I heard of that.
21:17:45 <monochrom> Maybe not bragging but explaining that it is really generic, can't have a more specific name.
21:18:07 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
21:18:27 <tomsmeding> yeah
21:18:35 <tomsmeding> can't seem to find the post now tough
21:18:39 <tomsmeding> *though
21:18:47 <monochrom> No worries :)
21:20:02 <tomsmeding> monochrom: did you find a reproducer for nondeterministic names, or do they indeed seem deterministic nowadays?
21:20:21 <monochrom> They are deterministic now, yeah. Tried 8.10.7.
21:20:45 <tomsmeding> I tried all five compilers available on that list (though with a very small program), and it was all deterministic
21:21:25 <monochrom> I only remember old things such as BASIC, COBOL, and Hugs, you see... :)
21:21:51 <tomsmeding> at least Hugs had a friendly name
21:23:54 × michalz quits (~michalz@185.246.204.125) (Remote host closed the connection)
21:24:21 mikoto-chan joins (~mikoto-ch@213.177.151.239)
21:24:51 × alp_ quits (~alp@user/alp) (Ping timeout: 256 seconds)
21:26:03 <geekosaur> my recollection is various folks including the nix folks (and nix users working on/with ghc) begged for that determinism
21:26:28 redb joins (~nmh@136.49.49.211)
21:29:00 asivitz joins (uid178348@id-178348.tinside.irccloud.com)
21:29:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:31:52 hololeap joins (~hololeap@user/hololeap)
21:33:11 abrantesasf joins (~abrantesa@189.115.192.139)
21:35:17 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:37:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
21:37:41 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
21:42:14 × Pickchea quits (~private@user/pickchea) (Ping timeout: 246 seconds)
21:42:58 × wolfshappen quits (~waff@irc.furworks.de) (Quit: later)
21:43:20 wolfshappen joins (~waff@irc.furworks.de)
21:43:43 mikoto-chan joins (~mikoto-ch@213.177.151.239)
21:45:15 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
21:45:35 hololeap joins (~hololeap@user/hololeap)
21:45:46 × vysn quits (~vysn@user/vysn) (Ping timeout: 250 seconds)
21:47:56 malinoskj2903 joins (~malinoskj@48.170-avail-pool-cc.sccoast.net)
21:48:17 <shlevy[m]> Yes we did :D
21:49:15 <shlevy[m]> In general we want byte-determinism in all of our builds but the non-determinism in GHC was particularly bad because it meant actually incompatible builds results
21:49:32 × abrantesasf quits (~abrantesa@189.115.192.139) (Remote host closed the connection)
21:49:40 × malinoskj290 quits (~malinoskj@48.170-avail-pool-cc.sccoast.net) (Ping timeout: 250 seconds)
21:49:46 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
21:50:10 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:51:00 mikoto-chan joins (~mikoto-ch@213.177.151.239)
21:52:16 × malinoskj2903 quits (~malinoskj@48.170-avail-pool-cc.sccoast.net) (Ping timeout: 250 seconds)
21:55:32 malinoskj290 joins (~malinoskj@48.170-avail-pool-cc.sccoast.net)
21:56:03 × Henson quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
21:58:36 abrantesasf joins (~abrantesa@189.115.192.139)
21:59:20 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
21:59:39 bshelden joins (~bshelden@S010664777d493f93.vf.shawcable.net)
22:03:39 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
22:04:09 malinoskj2906 joins (~malinoskj@48.170-avail-pool-cc.sccoast.net)
22:04:13 × malinoskj290 quits (~malinoskj@48.170-avail-pool-cc.sccoast.net) (Read error: Connection reset by peer)
22:05:26 anomal joins (~anomal@87.227.196.109)
22:07:11 × acidjnk quits (~acidjnk@p200300d0c73b45335982c41922b7b0a0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:07:58 × kuribas quits (~user@ptr-17d51enjtkmzpg60wq1.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
22:11:58 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:12:46 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer)
22:13:18 mikoto-chan joins (~mikoto-ch@213.177.151.239)
22:16:07 xff0x_ joins (~xff0x@om126167099166.29.openmobile.ne.jp)
22:16:57 × dolio quits (~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
22:17:43 dolio joins (~dolio@130.44.130.54)
22:17:56 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 246 seconds)
22:19:06 × raym quits (~raym@user/raym) (Ping timeout: 272 seconds)
22:19:36 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
22:21:47 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
22:24:04 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
22:24:25 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:24:34 raym joins (~raym@user/raym)
22:25:57 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 276 seconds)
22:29:24 yauhsien joins (~yauhsien@61-231-19-191.dynamic-ip.hinet.net)
22:34:24 × yauhsien quits (~yauhsien@61-231-19-191.dynamic-ip.hinet.net) (Ping timeout: 276 seconds)
22:39:04 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:42:38 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
22:45:35 × dhil quits (~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 246 seconds)
22:46:48 × fendor_ quits (~fendor@178.115.43.124.wireless.dyn.drei.com) (Remote host closed the connection)
22:47:45 bshelden parts (~bshelden@S010664777d493f93.vf.shawcable.net) ()
22:50:28 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
22:51:48 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
22:56:17 <EvanR> "this field must be named 'stuff' because it really could be anything" sounds like my first day at my first PHP job
22:56:37 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
22:56:37 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
22:56:37 wroathe joins (~wroathe@user/wroathe)
22:56:37 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
22:56:39 <EvanR> and it wasn't at google
22:57:37 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
22:58:01 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
22:58:43 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
23:02:25 gentauro joins (~gentauro@user/gentauro)
23:03:00 Henson joins (~kvirc@107-179-133-201.cpe.teksavvy.com)
23:04:14 <Henson> shlevy[m]: was it even possible to build Nix packages when the results from GHC were non-deterministic? I mean, they could build, but would their store hashes be different every time?
23:06:54 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
23:07:39 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:07:49 × jhagborg quits (~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
23:08:14 jhagborg joins (~jhagborg@068-187-237-099.res.spectrum.com)
23:13:03 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
23:16:56 <shlevy[m]> <Henson> "shlevy: was it even possible..." <- No, because the store hashes are not* determined based on the hash of the result, they are determined based on the hash of the inputs + the build script
23:16:56 <shlevy[m]> *: Slight oversimplification, some builds are determined based on the hash (e.g. fetching a tarball from the internet) and very recently there's a "content-addressed" store feature which is not essential to this point.
23:24:04 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 240 seconds)
23:24:55 <Henson> shlevy[m]: ok, so the store hashes could be the same, even though the hash out the outputs were different. I think at NixCon 2020 Eelco mentioned something about this, and how they were working on content-based hashing.
23:27:00 hololeap joins (~hololeap@user/hololeap)
23:30:33 <meejah> iirc, the store hashes are a hash of the config / nix-expression?
23:31:22 machinedgod joins (~machinedg@24.105.81.50)
23:33:12 × lisq quits (~quassel@lis.moe) (Quit: lisq)
23:46:47 <Guest91> Looks like I have as many packages installed with cabal as I'm going to get.  Many thanks for all the help!
23:47:46 × Henson quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
23:47:51 <geekosaur> the ones you can't reinstall you can copy and edit their package registration files, then "ghc-pkg recache --global"
23:47:52 vysn joins (~vysn@user/vysn)
23:52:39 × abrantesasf quits (~abrantesa@189.115.192.139) (Remote host closed the connection)
23:58:15 × jgeerds quits (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 276 seconds)

All times are in UTC on 2022-04-26.