Home freenode/#haskell: Logs Calendar

Logs on 2021-05-12 (freenode/#haskell)

00:00:10 <monochrom> Along that line, today I met with my TAs. On the subject of commenting or even giving marks on code quality, a TA suggested hlint.
00:00:42 × Guest50610 quits (~textual@mskresolve-a.mskcc.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:00:47 <Cale> If hlint gives no suggestions, deduct 1 mark
00:01:13 <monochrom> "Ah but an hlint complaint like 'your parentheses are redundant' is not just cause for deducting marks. Making an XY problem is. hlint picks on all the unimportant things and misses on all the important things."
00:01:24 <monochrom> haha Cale that's a good scheme too
00:03:05 conal joins (~conal@64.71.133.70)
00:03:21 <monochrom> Generally at today's technological level, these algorithmic suggests are all superficial and run the risk of causing moar XY problems.
00:04:11 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
00:09:11 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
00:09:17 <m_shiraeeshi> what does that long sequence of symbols in recommended action mean?
00:09:37 <m_shiraeeshi> * Recommended action: try adding the following to your extra-deps in /home/cajun/HaskellProjects/parconc-examples-0.4.8/stack.yaml
00:10:04 <geekosaur> it's giving a commit hash for an exact version, looks like
00:10:22 <Cajun> yes its the hash for the version. allow-newer is allowing it to build but ill see if it runs
00:10:28 <geekosaur> which is a good example of why not to quite trust automatic suggestions; that's usually going overboard
00:10:43 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
00:11:19 <monochrom> Blockchains and cryptography solve all social problems such as distribution of wealth and reproducible unbuildability. >:)
00:11:58 <Cajun> something something cardano
00:12:04 <Cajun> x3
00:12:26 <monochrom> I still think the resolver is too old to start with. 2018 January 1st?!
00:12:52 <monochrom> I mean unless you are also building a version of parconc from that period.
00:13:09 <monochrom> Period instruments for only period music.
00:13:11 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
00:13:29 <Cajun> the book is from 2013 but the package is kept up to date. that package is the one chosen automatically by `stack init`
00:14:02 <monochrom> OK so the parconc version is of year 2020 or even 2021
00:14:45 <monochrom> I have trouble believing that it's compatible with old GHC and old Cabal library that came with old GHC.
00:15:04 <Cajun> should i change to some newer LTS resolver? specifically the one for my GHC 8.8.4?
00:15:05 <monochrom> In terms of GHC versions and Cabal versions, a 2-year gap is too big.
00:15:21 <monochrom> Yeah I think so, I think you should try newer resolvers.
00:15:47 <monochrom> Then again I don't use stack so I don't know how much you should trust or not trust stack init.
00:16:26 <Cajun> it complained quite a bit about versions and stuff so only 1 thing passed. no clue
00:16:28 <monochrom> Also I don't know whether an old stack version is the cause of stack-init defaulting to an old resolver.
00:16:29 <geekosaur> stack init will be using the global stack config, which unless it's been manually maintained will date back to when stack was first installed
00:16:40 <monochrom> Oh heh
00:16:50 <geekosaur> regardless of how old the current version of stack is, iirc
00:17:03 <monochrom> Gosh this is a mess.
00:17:04 <geekosaur> currently installed that is
00:17:33 <monochrom> Now this detail would be one I would ask "why should it be invented?"
00:17:54 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
00:18:01 bennofs__ joins (~quassel@dynamic-077-011-002-207.77.11.pool.telefonica.de)
00:18:04 <Cajun> so how would i fix that? the build failed building happy 1.19.9 but i have 1.19.12. should i just stop and use cabal? ive heard that cabal can be a pain with dependency hell but have most of those issues been fixed?
00:18:26 <geekosaur> long since
00:18:33 <geekosaur> cabal v1 had those kinds of issues
00:19:39 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
00:20:38 larryba joins (~bc817c21@199.204.85.195)
00:21:08 <Cajun> alright thank you, cabal seems so much less painful to use monochrom++ geekosaur++
00:21:58 × bennofs_ quits (~quassel@dynamic-077-013-025-172.77.13.pool.telefonica.de) (Ping timeout: 268 seconds)
00:22:36 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 252 seconds)
00:24:09 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 245 seconds)
00:24:13 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds)
00:26:22 stree joins (~stree@68.36.8.116)
00:31:17 × nineonin_ quits (~nineonine@50.216.62.2) (Ping timeout: 246 seconds)
00:31:40 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
00:32:06 × proofofkeags quits (~proofofke@205.209.28.54) (Ping timeout: 240 seconds)
00:35:09 × Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
00:35:40 Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer)
00:37:46 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
00:42:36 × seveg quits (~gabriel@188-167-252-202.dynamic.chello.sk) (Ping timeout: 260 seconds)
00:44:20 seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
00:46:17 × stree quits (~stree@68.36.8.116) (Quit: Caught exception)
00:46:41 stree joins (~stree@68.36.8.116)
00:50:11 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
00:50:26 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
00:55:47 drbean_ joins (~drbean@TC210-63-209-24.static.apol.com.tw)
00:57:20 DarkiJah joins (~Android@213.237.86.22)
00:58:17 dcoutts__ is now known as dcoutts
01:01:10 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:02:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:02:57 × DarkiJah quits (~Android@213.237.86.22) (Remote host closed the connection)
01:04:33 × xff0x quits (~xff0x@2001:1a81:53fb:1000:2c1d:2721:9e36:7aea) (Ping timeout: 258 seconds)
01:05:30 DTZUZU joins (~DTZUZO@205.ip-149-56-132.net)
01:05:33 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
01:06:20 xff0x joins (~xff0x@2001:1a81:5237:1c00:bdb7:e463:e276:44ae)
01:06:50 <shanemikel> somthing something cardano is the reason I'm refreshing my haskell skillz. want to see what they're doing with smart contracts
01:07:35 <shanemikel> not to solve problems, but to create new ones ;)
01:08:04 <Cale> Taking cryptocurrency down from the inside?
01:09:30 <shanemikel> we're all on the inside now [laughs maniacally]
01:09:37 <Cale> I just want to be done with it all already.
01:10:22 <shanemikel> but we're not even on the moon yet :(
01:10:48 <Axman6> _if_ cryptocurrency is to be something actually useful, I'd definitely rather see it happen with Cardano than most alternatives. PoW is horrible, and IOHK seem to be doing a lot of good work, despite the fact it's cryptocurrency related
01:11:08 <Cale> Distributed databases are not a good fit for the real world. If you know who manages the connection between your database and the real world, you know where your database can be centralised. If you don't know, then you're just playing a video game with bad graphics despite all the graphics cards.
01:11:46 × hackage quits (mniip@haskell/bot/hackage) (Read error: Connection reset by peer)
01:12:52 × whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:13:11 sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6)
01:13:59 whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:14:53 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
01:14:56 atraii joins (~atraii@2601:681:8700:c471:182c:49ac:c430:1f21)
01:15:48 <shanemikel> that's one way to put it
01:15:57 × mikoto-chan quits (~mikoto-ch@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
01:16:12 <Axman6> I'm not sure I agree that they aren't a good fit for the real world. I'm somewhat biased, but by no means a crypto evangelist, or smart contract nut, but after working with DAML, and seeing technologies likc Canton, I can see how there is huge scops for building systems which share only the data they need so, and can have other write applications against others' shared data agaiunst it, without each party needing to know about thing.
01:17:01 × tdammers quits (~tdammers@unaffiliated/tdammers) (Ping timeout: 260 seconds)
01:17:36 <Cale> Doesn't that start to look like a bunch of isolated private databases that have restricted public APIs though?
01:18:01 <Axman6> That one, fairly difficult to get right, way to do things, yes
01:18:58 berberman_ joins (~berberman@unaffiliated/berberman)
01:19:52 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 276 seconds)
01:20:00 trepanger_ joins (~z@ics141-225.icsincorporated.com)
01:20:22 hyiltiz joins (~quassel@31.220.5.250)
01:20:23 × hyiltiz quits (~quassel@31.220.5.250) (Changing host)
01:20:23 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
01:20:24 <Axman6> the last project I worked on at one of my previous jobs was to build a system for tracing movements through supply chains - something like DAML with Canton would have made that project nearly trivial to implement, and for each party to build their own apps on, and to allow disclosure to the relevant authorities in a fairly trivial way
01:20:31 × atraii quits (~atraii@2601:681:8700:c471:182c:49ac:c430:1f21) (Ping timeout: 276 seconds)
01:21:20 refusenick parts (~user@2601:644:8502:d700::94c9) ("ERC (IRC client for Emacs 27.1)")
01:22:00 Alleria joins (~textual@2603-7000-3040-0000-010d-5dbc-e6e6-cd09.res6.spectrum.com)
01:22:24 Alleria is now known as Guest234
01:22:45 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
01:23:04 <Axman6> what a redundant sentense, I shouldn't do work and write on IRC at the same time
01:23:10 rajivr joins (uid269651@gateway/web/irccloud.com/x-hokcqwgivdarxuri)
01:24:57 jpds joins (~jpds@gateway/tor-sasl/jpds)
01:24:57 <Cale> I can definitely see the value in making it easier to write what are more or less centralised databases with well-structured APIs that are easy to use and interconnect. I just don't see what adding a peer-to-peer distributed network into the mix (on top of TCP/IP) really does to help anything.
01:25:43 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
01:26:04 jpds joins (~jpds@gateway/tor-sasl/jpds)
01:26:22 <Cale> As well as having the default policy for replication be that everyone replicates everything all the time.
01:26:26 <Axman6> The only pieces that need to be distributed are the shared pieces of information, which should be consistently viewed by all involved parties, and that's what a system like that gives you. Who wons the data that a shipment is being sent from A to bB? Who owns the fact that B has received it?
01:26:35 × Guest36391 quits (~iomonad@unaffiliated/iomonad) (Ping timeout: 265 seconds)
01:27:08 <Axman6> that's not the default policy in the systems I'm talking about. This is a long way from the one true blockchain model of most current cryptocurrencies
01:27:44 <Axman6> ehat is shared is what is visible to those parties, nothing else needs to be
01:28:10 × killsushi quits (~killsushi@2607:fea8:3d40:767:a826:23b7:521c:2d11) (Read error: Connection reset by peer)
01:28:45 jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg)
01:28:51 <Axman6> Like, don't get me wrong, I had exactly the same beliefs before working with DAML, I though most of the ideas in crypto currencies were terrible, and many of them made scaling nearly impossible. but that model doesn't have to be _the_ model
01:28:54 killsushi joins (~killsushi@2607:fea8:3d40:767:a826:23b7:521c:2d11)
01:28:58 × sheepduck quits (~sheepduck@2607:fea8:2a62:9600::9ba6) (Remote host closed the connection)
01:29:11 <Cale> In my mind, whatever real-world organisation is responsible for policing the relationship between the parties A and B ought to own that data. Someone has to be tasked with ensuring the contents of the database are correct, after all.
01:29:50 sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6)
01:29:55 <Cale> If that's just party B because we're lazy, and that situation is inadequate, no blockchain is going to really solve that problem.
01:30:04 × sheepduck quits (~sheepduck@2607:fea8:2a62:9600::9ba6) (Max SendQ exceeded)
01:30:34 sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6)
01:32:13 × Iceland_jack quits (~user@95.147.45.92) (Remote host closed the connection)
01:32:53 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
01:33:08 × xkapastel quits (uid17782@gateway/web/irccloud.com/x-jebgsafpndujiwtn) (Quit: Connection closed for inactivity)
01:33:21 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 265 seconds)
01:33:30 × jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 268 seconds)
01:34:00 Guest36391 joins (~iomonad@unaffiliated/iomonad)
01:36:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
01:38:06 <Axman6> What if it's the thirs party, say the government, which publishes the contracts which represent the relationship between those parties, and those contracts enforce visibility of that organisation when those actions are undertaken?
01:38:26 hyiltiz joins (~quassel@31.220.5.250)
01:38:26 × hyiltiz quits (~quassel@31.220.5.250) (Changing host)
01:38:26 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
01:38:41 nineonine joins (~nineonine@50.216.62.2)
01:38:43 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 252 seconds)
01:38:55 <Cale> Yeah, that's basically what we've got. People sign contracts, governments oversee the contracts. Ultimately, a judge can say whether the contract was valid or not.
01:38:57 malumore__ joins (~malumore@151.62.125.25)
01:39:40 <Axman6> like, this is tuff that a coupld of dozen lines of code in DAML, and I'm sure other languages too (though DAMLs model of visivility is quite unique as far as I can tell)
01:40:47 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
01:40:49 <Cale> I'd probably support the government keeping some sort of database of official contracts, but I do find the automated reasoning about them to be troubling. I see it as a good thing that a judge is allowed to say "no, that's actually slavery, you're not allowed to form that contract" and render it void, despite the potential for abuse.
01:41:13 × sheepduck quits (~sheepduck@2607:fea8:2a62:9600::9ba6) (Remote host closed the connection)
01:41:37 carif joins (~mcarifio@cpe-67-246-227-118.rochester.res.rr.com)
01:41:40 <Cale> When it's a program running uncontrollably on a global network of everyone's computers, that might not be possible.
01:42:12 × malumore_ quits (~malumore@151.62.117.210) (Ping timeout: 240 seconds)
01:42:33 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
01:42:40 <Axman6> why would it be uncontrolable?
01:42:42 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Ping timeout: 240 seconds)
01:42:59 hyiltiz joins (~quassel@31.220.5.250)
01:42:59 × hyiltiz quits (~quassel@31.220.5.250) (Changing host)
01:42:59 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
01:43:43 <Cale> Well, it depends on how you set up the network, but usually these networks are designed to be decentralised, and don't have entities with authority to just change or delete things at will.
01:43:56 sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6)
01:44:29 × xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:44:37 <Cale> I think the people who enforce that the contents of the database agree with the real-world situation and are legal and valid should have such authority over the contents of the database, it is a tool primarily for their sake.
01:45:27 <Cale> After all, they could always choose to act as though the contents of the database are different from what the computers say.
01:46:01 xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com)
01:46:21 <Cale> But if you have a bunch of smart contracts running out of control that are in disagreement with what is actually going to be enforced, that'll be a mess quickly.
01:46:38 <Axman6> of course, legislation is what provides the tool for enforcing the connection between the real world and documents about it. this has been the same for millenia
01:47:56 × sheepduck quits (~sheepduck@2607:fea8:2a62:9600::9ba6) (Remote host closed the connection)
01:48:46 nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9)
01:48:57 <Cale> Now, it might be a good idea to have some sort of standardised APIs for governments to be able to manage digital records of financial contracts that they are going to legally enforce. I just again see making that database distributed as creating more technical difficulties than it solves.
01:49:20 × sdrodge quits (~sdrodge@unaffiliated/sdrodge) (Ping timeout: 246 seconds)
01:49:53 × hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
01:50:06 <Cale> If you're the type to say "well, I don't trust the government", that's just too bad, because they have the guns, so nobody was asking.
01:51:02 <m_shiraeeshi> I don't know nothing about cryptocurrencies, let me ask
01:51:26 <m_shiraeeshi> Cale: "As well as having the default policy for replication be that everyone replicates everything all the time."
01:51:32 <m_shiraeeshi> what do you mean?
01:51:52 sheepduck joins (~sheepduck@2607:fea8:2a62:9600::9ba6)
01:51:57 <Cale> m_shiraeeshi: Generally those who are participating in blockchains store a copy of the entire chain of blocks on their machine
01:51:59 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
01:52:56 <Axman6> but that's absolutely not necessary
01:53:08 <Cale> Yeah, it's just uncommon to avoid it.
01:53:29 <m_shiraeeshi> so, when performing a transaction, let's say selling something, you send a message "I sold this thing", and then what happens?
01:53:37 <Axman6> well, Cardano is attempting to, as is Canton
01:53:39 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
01:53:49 <m_shiraeeshi> everybody should acknowledge your transaction? or majority?
01:53:51 <shanemikel> The main issue I see with blockchains is that anyone can stick any data in it and it's basically impossible to redact without a fork (think of certain rather unsavory kinds of explicit images).
01:54:33 <Cale> m_shiraeeshi: Well, in proof of work systems, some miner may choose to pick up your transaction and include it in the next block that they construct, when they solve the puzzle.
01:55:16 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:55:23 <Cale> m_shiraeeshi: and then that new block gets shared with all the nodes, and so long as it's part of the longest/largest-amount-of-work chain, your transaction happened.
01:55:24 <m_shiraeeshi> so what miners do is they replicate and acknowledge transactions?
01:55:30 <Cale> yeah
01:55:47 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
01:56:20 <Axman6> shanemikel: again, that's not a necessary feature of blockchains, that is a feature of some current blockchains. the DAML view is that only whose parties who are _allowed_ to see any data can, not everyone - they may see that data exists, but not what it is
01:56:35 <shanemikel> That's a cool feature if you want to do something like stick an encrypted signed revision of your research paper in the chain before collaborating with some unscrupulous but brilliant guy (just in case he tries to claim credit). Not so cool if somebody sticks your social security # or deed to your house in it.
01:56:35 <m_shiraeeshi> Cale: "and so long as it's part of the longest/largest-amount-of-work chain"
01:56:40 <Cale> Axman6: That's definitely an improvement, to be sure
01:56:52 <m_shiraeeshi> so there's possibility of conflicts and divergencies?
01:56:58 <Cale> m_shiraeeshi: yep
01:57:20 <m_shiraeeshi> it reminds me of cap-theorem
01:57:26 <shanemikel> permanent divergence is called a "fork"
01:57:27 <Axman6> in DAML you have to be explicit about who can see any contract
01:57:54 <Cale> m_shiraeeshi: Well-behaved miners tend to discard work that they had done to mine a block once they see that a new one got published.
01:58:02 hyiltiz joins (~quassel@31.220.5.250)
01:58:02 × hyiltiz quits (~quassel@31.220.5.250) (Changing host)
01:58:02 hyiltiz joins (~quassel@unaffiliated/hyiltiz)
01:58:21 <m_shiraeeshi> why though? you could make it append-only
01:58:37 <Cale> But it's not strictly necessary -- if the block they just mined was harder to mine, perhaps they could publish just after and have theirs accepted instead.
01:58:39 <m_shiraeeshi> so that newer data overwrite older
01:58:50 <m_shiraeeshi> but that could lead to problems I guess
01:58:58 <shanemikel> m_shiraeeshi who is the authority on time or what is the "newest" block?
01:58:58 <Cale> Because it's a wacky distributed database where everyone is considered an adversary
01:59:16 <shanemikel> that's the main issue with distributed systems is no oracle (time is pretty important to agree on)
01:59:45 <Cale> and so you (a) do far more work than any reasonable person would expect, and (b) have to deal with disagreements
02:00:11 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
02:00:31 <shanemikel> m_shiraeeshi what do you wait until every miner in the world has accepted a block before continuing the next TX? How do you know they were all online?
02:01:09 tdammers joins (~tdammers@77.109.72.213.res.static.edpnet.net)
02:01:09 × tdammers quits (~tdammers@77.109.72.213.res.static.edpnet.net) (Changing host)
02:01:09 tdammers joins (~tdammers@unaffiliated/tdammers)
02:01:17 <Cale> and there's also all kinds of fun problems at the peer-to-peer layer of how new connections to the network get handled and messages are routed around the network. Bitcoin is pretty stable since most of its routing is ad-hoc, but I have a sneaking suspicion that most networks are more exploitable at the P2P layer than we've yet had to contend with.
02:01:23 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 265 seconds)
02:01:27 ddellacosta joins (~ddellacos@86.106.143.228)
02:01:47 <shanemikel> Axman6 I bet there are all kinds of hidden goodies on the BTC chain
02:01:50 <m_shiraeeshi> what is the criterion for the transaction being considered committed then? like a minimal number of acknowledgements or something
02:02:05 <shanemikel> It is all probabilistic based on number of confirmations
02:02:10 <Cale> m_shiraeeshi: Sometimes people will wait for a number of blocks to be piled atop it, yeah
02:02:22 <shanemikel> you never know that a block was accepted. only pretty sure after some number of them
02:03:25 × xff0x quits (~xff0x@2001:1a81:5237:1c00:bdb7:e463:e276:44ae) (Ping timeout: 276 seconds)
02:03:35 <Axman6> goodies and very much not goodies
02:03:35 <Cale> It becomes harder and harder to change things farther into the past, because you have to do the work to form all the blocks on top of whatever it was you wanted changed.
02:04:18 <Cale> (well, blocks representing an equivalent amount of work)
02:04:25 <shanemikel> It's all based on game theory AFAIK... miners are incentivized to produce the next block and make $$ they don't want to do extra work for the same reward
02:04:26 <m_shiraeeshi> in a way it resembles how git works, right?
02:04:34 xff0x joins (~xff0x@2001:1a81:523e:f300:70f:5849:6a09:4e61)
02:04:37 <m_shiraeeshi> git hashes things
02:04:37 <shanemikel> yeah
02:04:41 × xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:04:59 <shanemikel> git is based on a sort-of merkle dag right?
02:05:07 × oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 252 seconds)
02:05:30 × isovector quits (~isovector@172.103.216.166) (Ping timeout: 258 seconds)
02:05:41 davve_ joins (davve@bsd.douchedata.com)
02:06:05 × davve quits (davve@bsd.douchedata.com) (Read error: Connection reset by peer)
02:06:26 × lambdabot quits (~lambdabot@silicon.int-e.eu) (Ping timeout: 240 seconds)
02:06:50 <Cale> But yeah, all of this kind of thing is unbelievably computationally expensive and power hungry. There are ways to improve the situation a bit vs. proof-of-work, but they're never really going to come close to postgres performance-wise.
02:06:52 × `slikts quits (~nelabs@wikipedia/reinis) (Quit: No Ping reply in 180 seconds.)
02:06:55 chris__ joins (~chris@81.96.113.213)
02:07:58 `slikts joins (~nelabs@2a00:d880:5:395::37ca)
02:07:58 × `slikts quits (~nelabs@2a00:d880:5:395::37ca) (Changing host)
02:07:58 `slikts joins (~nelabs@wikipedia/reinis)
02:08:07 sdrodge joins (~sdrodge@unaffiliated/sdrodge)
02:08:16 lambdabot joins (~lambdabot@silicon.int-e.eu)
02:08:17 × lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host)
02:08:17 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
02:08:31 <Cale> There's stuff like Tezos' proof-of-stake, where people are granted power over the network in accordance with how much monopoly money they have (which was initially determined by how much real world money they gave the Tezos devs)
02:09:45 <m_shiraeeshi> what about ethereum? it runs arbitrary computations in blockchain somehow?
02:09:49 <Cale> (The idea being that if you want your monopoly money to continue being regarded as valuable, you had better act in good faith)
02:10:03 <shanemikel> Theory on the street is that PoW is less vulnerable to money-printing power grab schemes..
02:10:06 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
02:11:07 <Cale> Ethereum started out proof-of-work, and I think there's a plan in the works to change it over to proof-of-stake.
02:11:27 justan0theruser joins (~justanoth@unaffiliated/justanotheruser)
02:12:01 <monochrom> I want to proof my cake and eat it too.
02:12:12 <m_shiraeeshi> some crypto jargon I see here
02:12:17 <shanemikel> It seems like a conflict of interest could emerge between network operators and stakeholders. How do they incentivize network operation? An indirect incentive for stakeholders to maintain network integrety?
02:12:20 <Axman6> bake it with ASICs
02:12:27 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds)
02:12:27 <Cale> Proof of stake has the rather enormous advantage of not wasting everyone's graphics cards (and potentially custom hardware) on solving otherwise-meaningless cryptographic puzzles.
02:13:27 <Cale> Still, you have every node on the network duplicating and checking all the computation that happens on it
02:13:33 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
02:14:08 <Cale> So it's still pretty expensive and wasteful power-wise to do everything, relative to traditional computer programs.
02:14:18 <shanemikel> Also, if BTC was proof of stake US gov would already be one of the top 1% network controllers (AFAIK because of silk road seizure)
02:14:29 <Cale> Nice
02:14:43 ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
02:15:47 <Cale> So we just need to convince the BTC folks to go proof of stake, and then convince the US government to shut it down, and then we can rest for a bit before figuring out how to EOL the rest of cryptocurrency.
02:15:58 <shanemikel> LOL
02:16:03 × davve_ quits (davve@bsd.douchedata.com) (Read error: Connection reset by peer)
02:16:10 davve joins (davve@bsd.douchedata.com)
02:16:22 <shanemikel> *sorry EOL
02:16:34 <Cale> (end of life)
02:16:58 <shanemikel> ahaha
02:17:31 <Cale> I just want it to be over
02:17:34 <Cale> haha
02:17:56 <nshepperd> proof of work blockchain solves a very specific problem, which is byzantine consensus in the absence of God. if you're an organisation providing a service your don't need it since you have a god
02:19:42 <shanemikel> yeah most interesting to me is geopolitics of it. India trying to shut it down, china w/ huge mining power. Texas trying to become mining hotspot. at least it will be interesting.
02:20:40 <m_shiraeeshi> I heard that at some point all the coins are going to be mined
02:20:43 × ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds)
02:20:52 <shanemikel> especially the timing of it during global power competition and the breakdown of postwar consensus
02:21:39 <m_shiraeeshi> what limits coins from being mined indefinitely?
02:22:14 <shanemikel> I think the rewards for new blocks diminish over time on BTC ad infinitum?
02:23:32 <m_shiraeeshi> also I got the impression that it's becoming increasingly harder to mine coins
02:23:49 <shanemikel> Which will be the case as long as the major BTC fork is controlled by devs, clients & miners who want to adhere to Satoshi's original vision?
02:24:03 <m_shiraeeshi> ok, so what happens after that? people start again from the clean slate?
02:24:13 <m_shiraeeshi> erase all the history?
02:24:15 <shanemikel> The dev communities are another interesting locus of control.
02:24:36 <shanemikel> No, you can fork the chain and change the protocol
02:26:46 <m_shiraeeshi> so is there some kind of a garbage collection in blockchain?
02:26:49 <shanemikel> Get super active on GitHub, join crypto community, talk some Capos (power devs) into adopting your new community guidelines, sneak some malevolent stuff in the backdoor, promote people who are secretly allied with you to hostile takeover of the crypto, profit.
02:26:59 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
02:26:59 finn_elija is now known as Guest29940
02:26:59 FinnElija is now known as finn_elija
02:27:08 <shanemikel> (also need to handle miners somehow)
02:27:29 <m_shiraeeshi> maybe my mental model is wrong, and that's why I'm asking about gc
02:27:32 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
02:28:35 <shanemikel> Only discarded blocks.. everything else stays in the chain.
02:29:05 <shanemikel> you discard blocks when you decide they are not getting accepted.. otherwise keep on chugging
02:29:28 <m_shiraeeshi> I heard that there was a dev in bitcoin who campaigned against popularizing bitcoin, and convinced a lot of people
02:29:33 × Guest29940 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
02:29:37 <m_shiraeeshi> it was like 5 years ago
02:30:59 × conal quits (~conal@64.71.133.70) (Read error: Connection reset by peer)
02:31:33 <m_shiraeeshi> and also about some issues leading to increased network traffic
02:32:28 <shanemikel> Before the crash in 2017 the BTC network was too slow to process TXs (because of the boom & hype, overloaded). That was a major reason for the crash in my mind.
02:33:30 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
02:34:25 × CrazyPython quits (~crazypyth@98.122.164.118) (Ping timeout: 260 seconds)
02:34:37 rprije joins (~rprije@110-174-108-199.static.tpgi.com.au)
02:35:00 × drbean_ quits (~drbean@TC210-63-209-24.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
02:35:19 <shanemikel> The latest hype cycle it seems has averted this problem (though I don't know if it is advances in the network/protocol or operation of the exchanges)
02:35:45 conal joins (~conal@64.71.133.70)
02:36:31 <shanemikel> Coinbase is much bigger and has capital to loan, speculate on TX outcomes, probably controls a huge volume of BTC to make TX fluid off-chain
02:38:05 <shanemikel> But on the blockchain there is no Fed to halt trading or loan/print to alleviate a liquidity trap
02:39:29 isovector joins (~isovector@172.103.216.166.cable.tpia.cipherkey.com)
02:39:54 <shanemikel> That was around the time when people were still debating whether BTC was a store of value or a medium of liquidity.. seems that argument is over and bulls have settled on store of value
02:39:55 falafel joins (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com)
02:40:06 × viluon quits (uid453725@gateway/web/irccloud.com/x-jefbknzpvoezvjbn) (Quit: Connection closed for inactivity)
02:42:01 × johncylee quits (~johncylee@185.163.110.100) (Remote host closed the connection)
02:42:30 xcmw joins (~textual@2603-6011-2200-f103-e9cf-0f11-7f01-6470.res6.spectrum.com)
02:51:19 × theDon quits (~td@muedsl-82-207-238-126.citykom.de) (Ping timeout: 252 seconds)
02:51:37 × EvilMagix quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 245 seconds)
02:51:44 <shanemikel> This looks interesting https://well-typed.com/blog/2021/03/fundamental-blockchain/
02:51:59 oxide joins (~lambda@unaffiliated/mclaren)
02:52:02 × ddellacosta quits (~ddellacos@86.106.143.228) (Remote host closed the connection)
02:52:12 ddellacosta joins (~ddellacos@86.106.143.228)
02:53:08 theDon joins (~td@94.134.91.159)
02:53:13 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
02:53:19 thallada joins (~thallada@fsf/member/thallada)
02:54:47 × jao quits (~jao@pdpc/supporter/professional/jao) (Ping timeout: 246 seconds)
02:55:02 × stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds)
02:55:03 jao joins (jao@pdpc/supporter/professional/jao)
02:55:40 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
02:57:58 × darjeeling_ quits (~darjeelin@122.245.121.138) (Quit: WeeChat 3.1)
02:58:07 DarkiJah joins (~Android@213.237.86.22)
02:58:52 darjeeling_ joins (~darjeelin@122.245.121.138)
03:02:29 × ddellacosta quits (~ddellacos@86.106.143.228) (Remote host closed the connection)
03:02:55 mayleesia joins (~mayleesia@dynamic-077-011-198-038.77.11.pool.telefonica.de)
03:06:11 × maylee quits (~mayleesia@x4dbf5e45.dyn.telefonica.de) (Ping timeout: 240 seconds)
03:07:16 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 260 seconds)
03:07:26 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
03:07:53 stree joins (~stree@68.36.8.116)
03:08:50 × howdoi quits (uid224@gateway/web/irccloud.com/x-skpmotuzajgkfppr) (Quit: Connection closed for inactivity)
03:09:56 × falafel quits (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) (Ping timeout: 245 seconds)
03:15:28 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
03:16:32 coot joins (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl)
03:18:58 × jao quits (jao@pdpc/supporter/professional/jao) (Ping timeout: 252 seconds)
03:20:42 jao joins (~jao@pdpc/supporter/professional/jao)
03:21:25 × oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 268 seconds)
03:21:42 × carif quits (~mcarifio@cpe-67-246-227-118.rochester.res.rr.com) (Quit: leaving)
03:22:24 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-hkzwbomfxvfomdtz)
03:26:07 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
03:27:45 patjameson joins (~patjameso@139.28.218.148)
03:31:01 oxide joins (~lambda@unaffiliated/mclaren)
03:31:23 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
03:31:59 × ggVGc quits (~ggVGc@a.lowtech.earth) (Remote host closed the connection)
03:32:46 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:35:49 bitmagie joins (~Thunderbi@200116b806f96a003829ba6732a572cc.dip.versatel-1u1.de)
03:42:33 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds)
03:43:07 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
03:45:50 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
03:52:36 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-wydsfqjrhoioptxh) ()
03:52:53 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
03:53:07 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
03:54:58 × jao quits (~jao@pdpc/supporter/professional/jao) (Ping timeout: 265 seconds)
03:54:59 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
03:55:35 × justan0theruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds)
03:56:09 Tario joins (~Tario@201.192.165.173)
03:56:41 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
03:56:51 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
03:59:24 × xcmw quits (~textual@2603-6011-2200-f103-e9cf-0f11-7f01-6470.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:06:53 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
04:09:31 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
04:13:22 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
04:18:50 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
04:23:38 ddellacosta joins (~ddellacos@86.106.143.189)
04:24:11 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
04:24:39 × waleee-cl quits (uid373333@gateway/web/irccloud.com/x-pyxgzrqsorndsysw) (Quit: Connection closed for inactivity)
04:27:10 × bitmagie quits (~Thunderbi@200116b806f96a003829ba6732a572cc.dip.versatel-1u1.de) (Remote host closed the connection)
04:27:25 bitmagie joins (~Thunderbi@200116b806f96a003829ba6732a572cc.dip.versatel-1u1.de)
04:28:17 × ddellacosta quits (~ddellacos@86.106.143.189) (Ping timeout: 260 seconds)
04:28:40 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
04:29:22 × bitmagie quits (~Thunderbi@200116b806f96a003829ba6732a572cc.dip.versatel-1u1.de) (Client Quit)
04:32:56 malumore_ joins (~malumore@151.62.125.25)
04:35:11 × oxide quits (~lambda@unaffiliated/mclaren) (Ping timeout: 240 seconds)
04:35:56 EvilMagix joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
04:35:56 × malumore__ quits (~malumore@151.62.125.25) (Ping timeout: 260 seconds)
04:41:19 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 252 seconds)
04:44:12 ulidtko joins (~ulidtko@194.54.80.38)
04:44:57 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
04:47:54 sord937 joins (~sord937@gateway/tor-sasl/sord937)
04:50:31 × mrchampion quits (~mrchampio@38.18.109.23) (Remote host closed the connection)
04:51:42 Sososasa joins (~textual@2600:1700:17f2:2b0:48bf:c522:d610:ba08)
04:53:06 × Sososasa quits (~textual@2600:1700:17f2:2b0:48bf:c522:d610:ba08) (Client Quit)
04:54:47 × Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
04:54:57 × coeus quits (~coeus@p200300d02708a90071c651138f13aa2e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
04:55:11 Kaiepi joins (~Kaiepi@47.54.252.148)
04:55:31 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
04:56:39 × carlomagno quits (~cararell@148.87.23.13) (Quit: Leaving.)
04:58:29 × eacameron quits (uid256985@gateway/web/irccloud.com/x-ysloaedovjwjllrg) (Quit: Connection closed for inactivity)
05:00:11 × isovector quits (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Ping timeout: 240 seconds)
05:00:13 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
05:03:37 × kupi quits (uid212005@gateway/web/irccloud.com/x-oxtqruuygxfvgpji) (Quit: Connection closed for inactivity)
05:04:08 × puke quits (~vroom@217.138.252.196) (Quit: puke)
05:08:02 × dibblego quits (~dibblego@haskell/developer/dibblego) (Excess Flood)
05:08:23 dibblego joins (~dibblego@122-199-1-30.ip4.superloop.com)
05:08:24 × dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
05:08:24 dibblego joins (~dibblego@haskell/developer/dibblego)
05:08:29 × Kaiepi quits (~Kaiepi@47.54.252.148) (Ping timeout: 246 seconds)
05:09:55 × Shuppiluliuma quits (~shuppilul@153.33.68.161) (Ping timeout: 252 seconds)
05:10:15 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
05:11:39 coeus joins (~coeus@p200300d0270e5d005047ffeaff29ea8d.dip0.t-ipconnect.de)
05:13:02 falafel joins (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com)
05:14:25 × aerona_ quits (~aerona@2600:6c54:4600:f300:a087:e5ac:bbaa:7d1c) (Quit: Leaving)
05:15:30 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
05:15:58 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
05:17:34 × alx741 quits (~alx741@186.178.109.110) (Quit: alx741)
05:19:16 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 252 seconds)
05:19:31 × berberman_ quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
05:19:53 berberman joins (~berberman@unaffiliated/berberman)
05:26:55 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:27:28 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
05:28:47 stree joins (~stree@68.36.8.116)
05:31:55 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
05:38:43 × pjb quits (~pjb@2a01cb04063ec50010b77dfbed5a7ace.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
05:40:00 mayleesia is now known as maylee
05:46:53 × larryba quits (~bc817c21@199.204.85.195) (Quit: CGI:IRC (Session timeout))
05:47:48 nineonin_ joins (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90)
05:49:26 ulidtko|k joins (~ulidtko@31.133.98.224)
05:49:33 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
05:50:27 jpds joins (~jpds@gateway/tor-sasl/jpds)
05:51:10 × nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 252 seconds)
05:51:26 wonko7 joins (~wonko7@62.115.229.50)
05:52:30 × ulidtko quits (~ulidtko@194.54.80.38) (Ping timeout: 268 seconds)
05:52:39 Kaiepi joins (~Kaiepi@47.54.252.148)
05:55:28 × Guest87676 quits (~laudiacay@45.162.228.190) (Ping timeout: 276 seconds)
05:55:31 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
05:55:52 alexander joins (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d)
05:55:53 ulidtko|kk joins (~ulidtko@31.133.98.224)
05:56:12 × ulidtko|k quits (~ulidtko@31.133.98.224) (Ping timeout: 268 seconds)
05:56:21 alexander is now known as Guest24024
05:56:46 rzmt joins (~rzmt@87-92-227-98.rev.dnainternet.fi)
05:57:01 × mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 260 seconds)
05:58:26 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
05:59:52 × ulidtko|kk quits (~ulidtko@31.133.98.224) (Remote host closed the connection)
06:00:19 ulidtko|kk joins (~ulidtko@31.133.98.224)
06:00:40 × falafel quits (~falafel@2603-8001-ca00-f555-b4a5-fa93-bc1a-b3d6.res6.spectrum.com) (Ping timeout: 276 seconds)
06:03:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:05:19 × EvilMagix quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 260 seconds)
06:07:38 johannes_ joins (~johannes@b2b-37-24-119-190.unitymedia.biz)
06:07:51 ddellacosta joins (~ddellacos@86.106.143.241)
06:12:02 × darjeeling_ quits (~darjeelin@122.245.121.138) (Ping timeout: 252 seconds)
06:12:09 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
06:12:13 × ddellacosta quits (~ddellacos@86.106.143.241) (Ping timeout: 240 seconds)
06:13:51 yoneda joins (~mike@193.206.102.122)
06:14:08 Anonim001 joins (~Anonim001@140.213.148.159)
06:14:42 <Anonim001> hai
06:15:26 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
06:16:35 <Axman6> Hello
06:17:25 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
06:17:27 jakalx joins (~jakalx@base.jakalx.net)
06:18:26 jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg)
06:21:05 × dminuoso quits (~dminuoso@static.88-198-218-68.clients.your-server.de) (Changing host)
06:21:05 dminuoso joins (~dminuoso@unaffiliated/dminuoso)
06:21:51 ulidtko|k joins (~ulidtko@194.54.80.38)
06:24:26 × ulidtko|kk quits (~ulidtko@31.133.98.224) (Ping timeout: 260 seconds)
06:25:51 darjeeling_ joins (~darjeelin@122.245.120.162)
06:26:41 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
06:26:42 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 252 seconds)
06:27:34 mikoto-chan joins (~mikoto-ch@gateway/tor-sasl/mikoto-chan)
06:32:22 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
06:34:06 <juri_> hio!
06:35:25 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:36:10 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:37:33 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
06:38:05 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
06:42:26 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
06:42:52 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 252 seconds)
06:45:12 ddellacosta joins (~ddellacos@86.106.143.202)
06:48:38 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
06:49:41 × ddellacosta quits (~ddellacos@86.106.143.202) (Ping timeout: 240 seconds)
06:51:52 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 265 seconds)
06:54:53 × tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Remote host closed the connection)
06:55:54 plutoniix joins (~q@ppp-171-97-98-58.revip8.asianet.co.th)
06:56:03 thc202 joins (~thc202@unaffiliated/thc202)
06:57:45 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
06:57:56 tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io)
06:59:07 × john2gb0 quits (~john2gb@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
07:02:17 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
07:02:38 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
07:02:38 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
07:02:38 mouseghost joins (~draco@wikipedia/desperek)
07:05:57 × killsushi quits (~killsushi@2607:fea8:3d40:767:a826:23b7:521c:2d11) (Quit: Leaving)
07:06:53 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
07:08:21 × thunderrd quits (~thunderrd@183.182.115.120) (*.net *.split)
07:09:45 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
07:10:46 × Anonim001 quits (~Anonim001@140.213.148.159) (Ping timeout: 240 seconds)
07:10:56 Varis joins (~Tadas@unaffiliated/varis)
07:11:40 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
07:18:10 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
07:21:18 × Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
07:21:50 Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer)
07:22:32 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
07:23:23 ubert joins (~Thunderbi@p200300ecdf005e54e6b318fffe838f33.dip0.t-ipconnect.de)
07:23:45 × DarkiJah quits (~Android@213.237.86.22) (Remote host closed the connection)
07:24:21 × Sgeo quits (~Sgeo@ool-18b9875e.dyn.optonline.net) (Read error: Connection reset by peer)
07:25:07 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:7fc3:e4ce:2a81:16be) (Ping timeout: 260 seconds)
07:30:08 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:32:02 chele joins (~chele@78.128.94.174)
07:32:08 cfricke joins (~cfricke@unaffiliated/cfricke)
07:32:53 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
07:36:14 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
07:36:46 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
07:36:49 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds)
07:37:25 hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:f4a2:7a57:7d89:6f13)
07:38:23 jrm2 joins (~jrm@freebsd/developer/jrm)
07:38:59 × jrm quits (~jrm@freebsd/developer/jrm) (Ping timeout: 246 seconds)
07:39:00 jrm2 is now known as jrm
07:40:16 fendor joins (~fendor@178.165.130.48.wireless.dyn.drei.com)
07:42:49 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 252 seconds)
07:42:52 DarkiJah joins (~Android@213.237.86.22)
07:42:55 × DarkiJah quits (~Android@213.237.86.22) (Excess Flood)
07:44:52 kuribas joins (~user@ptr-25vy0i905bdcx4bbbsp.18120a2.ip6.access.telenet.be)
07:47:18 <maerwald> how do you make pkg-config work on windows? I installed haskell-dev via chocolatey and when executing cabal, it doesn't know where pkg-config (the tool) is
07:49:38 stree joins (~stree@68.36.8.116)
07:50:49 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
07:50:55 Guest87676 joins (~laudiacay@45.162.228.190)
07:51:16 <[exa]> export a PKG_CONFIG_PATH?
07:51:22 <[exa]> (can one export environment on windows?)
07:51:39 <maerwald> excellent questions
07:51:45 <maerwald> also, why would I need to do that?
07:51:56 <maerwald> chocolatey is supposed to do those things for me
07:52:24 <maerwald> PKG_CONFIG_PATH is about the .pc files, not the tool
07:52:29 <maerwald> afair
07:52:37 <maerwald> it can't find the tool
07:52:53 <[exa]> yeah that might be true...then just PKG_CONFIG ?
07:53:51 <lortabac> is there a way to hide some identifiers when exporting a module?
07:55:29 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
07:55:40 × Guest87676 quits (~laudiacay@45.162.228.190) (Ping timeout: 265 seconds)
07:57:07 <[exa]> lortabac: you mean 'as opposed to listing the identifiers you want exported' ?
07:57:56 <tomsmeding> if so, then no :)
07:58:32 <tomsmeding> hack would be to make your module a separate, .Internal module, and in the externally-facing module to import your .Internal module hiding some symbols (imports _can_ hide), and then re-export that whole module
08:01:18 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
08:02:05 <lortabac> apparently you can hide them when importing the module and re-export the whole module
08:02:14 <lortabac> it seems to work
08:02:41 Guest24024 is now known as chomwitt
08:03:19 <tomsmeding> indeed
08:03:36 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
08:05:26 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:05:35 ram19890 joins (~ram@49.205.82.36)
08:07:21 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
08:10:21 × hendursa1 quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
08:10:30 m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
08:10:52 × hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection)
08:10:58 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
08:11:14 hendursaga joins (~weechat@gateway/tor-sasl/hendursaga)
08:14:16 kritzefitz joins (~kritzefit@p200300ecdf3c5b009ca7d9f9eb7bbe17.dip0.t-ipconnect.de)
08:15:37 pmj joins (~pmj@p4fe156fa.dip0.t-ipconnect.de)
08:16:33 DarkiJah joins (~Android@213.237.86.22)
08:16:34 × DarkiJah quits (~Android@213.237.86.22) (Excess Flood)
08:17:25 × sphalerite quits (~sphalerit@NixOS/user/lheckemann) (Quit: WeeChat 2.9)
08:17:41 jakalx joins (~jakalx@base.jakalx.net)
08:18:23 sphalerite joins (~sphalerit@NixOS/user/lheckemann)
08:21:18 <merijn> ain issue with that is that haddocks will be shit
08:21:34 <merijn> Better off explicitly listing identifiers
08:21:59 <lortabac> merijn: good point
08:23:22 thunderrd joins (~thunderrd@183.182.115.120)
08:23:23 DarkiJah joins (~Android@213.237.86.22)
08:23:23 × DarkiJah quits (~Android@213.237.86.22) (Excess Flood)
08:23:47 ggVGc joins (~ggVGc@a.lowtech.earth)
08:23:53 × whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
08:24:26 × undvrainbowvita8 quits (~egp_@128-71-13-3.broadband.corbina.ru) (Ping timeout: 240 seconds)
08:25:01 whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
08:25:24 × kritzefitz quits (~kritzefit@p200300ecdf3c5b009ca7d9f9eb7bbe17.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
08:27:11 × plutoniix quits (~q@ppp-171-97-98-58.revip8.asianet.co.th) (Ping timeout: 240 seconds)
08:28:02 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
08:28:24 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
08:29:25 undvrainbowvita8 joins (~egp_@128-71-13-3.broadband.corbina.ru)
08:29:30 oxide joins (~lambda@unaffiliated/mclaren)
08:29:32 DarkiJah joins (~Android@213.237.86.22)
08:32:26 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
08:32:52 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
08:35:08 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:36:24 chris__ joins (~chris@81.96.113.213)
08:36:52 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
08:36:55 × joeyh quits (joeyh@kitenet.net) (Quit: ZNC 1.8.1+deb1 - https://znc.in)
08:37:05 joeyh joins (joeyh@kitenet.net)
08:37:43 × undvrainbowvita8 quits (~egp_@128-71-13-3.broadband.corbina.ru) (Ping timeout: 265 seconds)
08:38:34 LKoen joins (~LKoen@5.166.9.109.rev.sfr.net)
08:38:35 kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49)
08:40:14 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
08:41:41 × darjeeling_ quits (~darjeelin@122.245.120.162) (Ping timeout: 240 seconds)
08:41:47 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-hkzwbomfxvfomdtz) (Quit: Connection closed for inactivity)
08:42:53 × xff0x quits (~xff0x@2001:1a81:523e:f300:70f:5849:6a09:4e61) (Ping timeout: 250 seconds)
08:43:45 xff0x joins (~xff0x@2001:1a81:523e:f300:f7bd:d435:471d:3982)
08:44:55 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
08:52:15 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
08:52:15 plutoniix joins (~q@184.82.203.254)
08:53:11 × byorgey quits (~byorgey@155.138.238.211) (Ping timeout: 268 seconds)
08:53:11 × dave_uy quits (~david@108.61.193.26) (Ping timeout: 246 seconds)
08:53:16 × bcmiller quits (~bm3719@66.42.95.185) (Ping timeout: 245 seconds)
08:54:16 chris__ joins (~chris@81.96.113.213)
09:02:41 × zariuq quits (~zar@fw1.ciirc.cvut.cz) (Read error: Connection reset by peer)
09:02:53 zariuq joins (~zar@fw1.ciirc.cvut.cz)
09:03:53 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
09:08:03 × datajerk quits (~datajerk@sense.net) (Ping timeout: 252 seconds)
09:08:35 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
09:09:34 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
09:09:55 byorgey joins (~byorgey@155.138.238.211)
09:10:01 dave_uy joins (~david@108.61.193.26)
09:10:02 bcmiller joins (~bm3719@66.42.95.185)
09:11:17 CrazyPython joins (~crazypyth@206.214.238.6)
09:11:24 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
09:12:52 datajerk joins (~datajerk@sense.net)
09:15:35 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
09:19:50 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
09:20:00 <kuribas> why is "try" in a parser considered evil?
09:20:23 × abrar quits (~abrar@static-108-30-103-121.nycmny.fios.verizon.net) (Quit: WeeChat 2.9)
09:21:17 <maerwald> excessive backtracking?
09:21:53 <maerwald> can't think of another reason
09:22:15 abrar joins (~abrar@static-108-30-103-121.nycmny.fios.verizon.net)
09:23:05 <kuribas> it was about laws not being respected or something...
09:23:55 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
09:25:01 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
09:25:03 rond_ joins (531cde7e@bmc126.neoplus.adsl.tpnet.pl)
09:25:45 <merijn> kuribas: Why said it's evil?
09:26:04 <kuribas> I remember reading it in an article, I don't have the article though...
09:31:26 <maerwald> kuribas: http://blog.ezyang.com/2014/05/parsec-try-a-or-b-considered-harmful/
09:31:29 <maerwald> ?
09:31:46 <kuribas> maerwald: yeah
09:31:47 <maerwald> but that's not about laws either
09:32:16 × gitgood quits (~gitgood@host-78-145-139-64.as13285.net) (Remote host closed the connection)
09:33:45 <kuribas> maerwald: I read that somewhere else then
09:34:00 <maerwald> go find it :p
09:35:01 <nshepperd2> https://rpeszek.github.io/posts/2021-02-13-alternative.html this one?
09:35:22 <kuribas> yeah, that one also.
09:35:28 <kuribas> Although I don't agree with that article.
09:37:08 <nshepperd2> having try, instead of always backtracking, means things violate the '(f >> mzero) = mzero' law of monadplus
09:37:45 <nshepperd2> but i think that law is just wrong
09:37:47 <kuribas> you mean (f >> mzero) == f ?
09:37:58 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
09:38:19 <kuribas> that's a weird law...
09:38:39 Synthetica joins (uid199651@gateway/web/irccloud.com/x-yluktxymatxbguna)
09:39:01 <nshepperd2> very weird
09:39:07 <nshepperd2> https://hackage.haskell.org/package/base-4.6.0.1/docs/Control-Monad.html#t:MonadPlus
09:39:37 <nshepperd2> a bunch of the instances in base violate it too, so i think it's just a mistake
09:40:34 <kuribas> it only makes sense when f doesn't do any side-effect
09:42:42 <maerwald> why?
09:42:46 × DarkiJah quits (~Android@213.237.86.22) (Ping timeout: 240 seconds)
09:43:09 <kuribas> maerwald: because mzero didn't do any side-effect, and f did.
09:43:09 <nshepperd2> launchMissiles >> mzero
09:43:15 ddellacosta joins (~ddellacos@86.106.143.46)
09:43:33 <maerwald> ah, you mean `v >> mzero = mzero`
09:43:57 <nshepperd2> yes, that one
09:44:17 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
09:44:48 <maerwald> so IO already violates it?
09:46:45 <maerwald> hmm, the question is also... are the laws defined for evaluation only?
09:46:52 <Taneb> Does IO have a MonadPlus instance?
09:47:21 <maerwald> yes
09:47:22 <merijn> It does, I think
09:47:42 <maerwald> but, I guess... if you ignore program execution semantics, the laws kinda hold
09:48:04 × ddellacosta quits (~ddellacos@86.106.143.46) (Ping timeout: 268 seconds)
09:48:23 <merijn> the law is less general than it's written out
09:48:44 <merijn> it basically just means "all aborts are the same"
09:49:00 <merijn> It doesn't mean "abort retroactively invalidates things that happened"
09:49:11 <nshepperd2> in other words it's wrong
09:49:15 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
09:49:22 <merijn> Define wrong
09:49:37 <maerwald> merijn: well, mzero has no parameters, so it is always the same
09:49:49 <merijn> "it's using a different equality than the one you're thinking off"
09:50:07 <merijn> Because people are sloppy and use tons of different equalities implicitly
09:50:30 <nshepperd2> it's useless if you can't apply it because it uses some mysterious undefined equality
09:51:32 <merijn> Those aren't even listed as laws, though
09:51:52 <maerwald> "satisfy the equations"
09:51:57 <Taneb> "It should also satisfy the equations" makes it sound like they're intended as laws to me
09:52:00 <merijn> It's just saying MonadPlus shouldn't allow >> and >>= to recover
09:52:11 <nshepperd2> it's not saying that
09:52:14 <maerwald> Uniaika: I think we have a documentation task here
09:52:30 <nshepperd2> there's a bug filed https://gitlab.haskell.org/ghc/ghc/-/issues/14960
09:52:46 <Taneb> The Monad laws are described with the same language
09:52:59 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
09:53:19 <nshepperd2> you can gesture toward 'v >> mzero is false-ish' or 'can't recover' but parametricity of mzero already tells you that
09:53:28 <maerwald> right
09:53:53 <merijn> It doesn't, though
09:55:00 <Uniaika> hello.
09:55:20 <maerwald> merijn: be a little more constructive :P ...what should we do?
09:55:31 <Uniaika> that's easy
09:55:36 <Uniaika> you open a ticket
09:55:38 <Uniaika> you assign it to me
09:55:52 <Uniaika> ideally with how things should be documented but I can do without
09:56:02 <Uniaika> and you let the Documentation Task Force do its magic
09:56:08 <Uniaika> good bye
09:57:10 <kuribas> could we have "recommended laws"?
09:57:20 <kuribas> Not really laws, but nice to have?
09:57:35 × stree quits (~stree@68.36.8.116) (Ping timeout: 246 seconds)
09:57:39 <maerwald> "It would be nice if your function works"?
09:58:07 <merijn> maerwald: The problem is that people don't agree on what "works" means
09:58:13 <nshepperd2> parametricity of mzero tells you that '(v >> mzero) >>= f = v >> mzero'
09:58:20 <maerwald> I think... if an instance has *additional* laws, it can document them in the instance
09:58:31 <nshepperd2> which is what 'can't recover' means in practice
09:59:21 <ski> "because mzero didn't do any side-effect" -- `mzero' by definition expresses a non-trivial effect (the absence of an answer)
10:00:20 <maerwald> so mzero just means "there is failure"
10:00:28 <nshepperd2> (as long as >>= doesn't do anything which would already violate the monad laws, probably)
10:00:29 Rudd0 joins (~Rudd0@185.189.115.103)
10:00:53 <tdammers> kuribas: laws are recommendations already. the compiler can't enforce them, your code will still compile and run if you violate them, it will just be inconsistent, surprising, unpredictable, or otherwise act strange
10:01:42 <maerwald> well, then the laws are not violated if you think of it only in terms of equational reasoning without program execution
10:02:37 <nshepperd2> '(v >> mzero) >>= f = v >> mzero' would probably be a better law than 'v >> mzero = mzero' at least
10:02:53 <kuribas> agreed
10:03:47 × chomwitt quits (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d) (Ping timeout: 260 seconds)
10:03:54 <dminuoso> MonadZero, the typeclass with laws nobody can agree on.
10:03:54 <ski> that already holds by associativity, and right absorption
10:04:03 <dminuoso> Err MonadPlus.
10:04:20 <nshepperd2> oh yeah so it does
10:04:54 <nshepperd2> the law is just unnecessary as i thought then
10:05:19 <ski> @wiki MonadPlus
10:05:19 <lambdabot> https://wiki.haskell.org/MonadPlus
10:05:21 <ski> @wiki MonadPlus_reform_proposal
10:05:21 <lambdabot> https://wiki.haskell.org/MonadPlus_reform_proposal
10:05:42 TimesUp joins (57010b6e@host-87-1-11-110.retail.telecomitalia.it)
10:06:44 <maerwald> " IO is not even in MonadPlus,"
10:08:46 × jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 240 seconds)
10:10:52 stree joins (~stree@68.36.8.116)
10:12:11 <ski> well, i'm not convinced it should be
10:12:20 jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg)
10:13:13 <nshepperd2> IO is in MonadPlus now
10:13:19 <ski> i know
10:13:43 <nshepperd2> ofc these same issues apply to ExceptT over anything as well
10:15:44 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
10:16:59 ukari joins (~ukari@unaffiliated/ukari)
10:17:36 undvrainbowvita8 joins (~egp_@128-71-13-3.broadband.corbina.ru)
10:19:15 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:21:01 ddellacosta joins (~ddellacos@86.106.143.33)
10:22:34 <maerwald> we could start a "Class law task force" :p
10:22:50 <maerwald> put it on HF tech track
10:23:29 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
10:25:46 × ddellacosta quits (~ddellacos@86.106.143.33) (Ping timeout: 252 seconds)
10:30:20 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
10:30:31 frozenErebus joins (~frozenEre@37.231.244.249)
10:30:58 pjb joins (~pjb@2a01cb04063ec50081adf5bfe676b3d2.ipv6.abo.wanadoo.fr)
10:32:18 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
10:32:18 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
10:32:18 mouseghost joins (~draco@wikipedia/desperek)
10:34:12 × plutoniix quits (~q@184.82.203.254) (Quit: Leaving)
10:34:33 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
10:35:42 × Guest234 quits (~textual@2603-7000-3040-0000-010d-5dbc-e6e6-cd09.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:36:37 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds)
10:39:18 <siers> I'm trying ghc -threaded && ./ +RTS -N8, but with ghc -threaded -O I don't see CPU high usage any more
10:39:44 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:40:24 __monty__ joins (~toonn@unaffiliated/toonn)
10:44:11 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
10:44:38 × pmj quits (~pmj@p4fe156fa.dip0.t-ipconnect.de) (Remote host closed the connection)
10:50:35 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:51:06 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
10:51:09 lemmih joins (~lemmih@2406:3003:2072:44:defd:a00a:733d:f00a)
10:55:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
10:55:08 ddellacosta joins (~ddellacos@86.106.143.202)
10:55:52 <siers> for this cycle wasting program http://sprunge.us/ubbaBZ
10:57:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:58:43 Alleria joins (~textual@zrcout.mskcc.org)
10:59:08 Alleria is now known as Guest9827
10:59:28 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
10:59:41 × ddellacosta quits (~ddellacos@86.106.143.202) (Ping timeout: 240 seconds)
10:59:48 <tomsmeding> siers: what do you see instead?
11:00:52 zaquest joins (~notzaques@5.128.210.178)
11:01:20 vgtw_ joins (~vgtw@gateway/tor-sasl/vgtw)
11:01:52 <tomsmeding> okay I see the same, it uses one core only
11:01:57 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Ping timeout: 240 seconds)
11:01:58 vgtw_ is now known as vgtw
11:02:02 puke joins (~vroom@217.138.252.196)
11:02:19 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
11:02:33 vgtw joins (~vgtw@gateway/tor-sasl/vgtw)
11:02:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:03:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:03:49 × dcoutts_ quits (~duncan@94.186.125.91.dyn.plus.net) (Read error: Connection reset by peer)
11:03:50 <siers> yup
11:04:03 dcoutts_ joins (~duncan@94.186.125.91.dyn.plus.net)
11:05:42 × Xnuk quits (~xnuk@45.76.202.58) (Remote host closed the connection)
11:06:01 Xnuk joins (~xnuk@vultr.xnu.kr)
11:08:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:09:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:12:08 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:14:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:14:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:15:19 <tomsmeding> I think the problem is that your cycle-spinning function does not perform any allocations, so there are no points where the scheduler can step in and yield the computation to a different thread
11:15:54 <tomsmeding> this is not based on any knowledge of the RTS internals, but in the past I've played briefly with these parallel combinators and found out that stuff starts acting very strangely when your worker computations perform no allocations
11:16:12 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
11:16:28 <tomsmeding> for example: adding {-# NOINLINE tl #-} fixes the behaviour with -O
11:19:46 <siers> ok, new wasting algo: http://sprunge.us/icSqSP
11:19:51 <siers> this one works as expected
11:20:00 <tomsmeding> siers: this does work for me https://paste.tomsmeding.com/LXrSEv3l
11:20:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
11:20:14 <tomsmeding> lol or that
11:21:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:21:06 <siers> :) ok, main point is we know why
11:21:18 <siers> back to work 😅
11:21:28 <tomsmeding> (I _think_ it works this way)
11:21:51 × rprije quits (~rprije@110-174-108-199.static.tpgi.com.au) (Quit: Leaving)
11:22:06 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:26:53 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
11:26:57 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
11:27:33 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
11:30:38 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
11:31:24 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
11:31:53 darjeeling_ joins (~darjeelin@122.245.120.162)
11:32:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
11:32:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:34:21 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving)
11:35:28 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 252 seconds)
11:40:11 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
11:46:45 <Cajun> how can i go about installing all dependencies of a project as libraries? ive tried using `cabal install --only-dependencies` but GHC wont use those during compilation and still complains they dont exist. when i install them individually with --lib, it works fine. ive had issues using `cabal install --only-dependencies --lib` and am curious if
11:46:45 <Cajun> there is an alternative. here is the command output https://paste.tomsmeding.com/vt6MCFSR
11:47:50 <siers> tomsmeding, I should be able to parallelly compute sparks from [IO a], with parList . sequence?
11:49:18 <tomsmeding> siers: IO is strict, so sequence evaluates the returned values of the monad computations in the list to WHNF
11:49:35 <tomsmeding> meaning that 'sequence' will already compute the values sequentially, so parList won't have anything to do anymore
11:49:47 <tomsmeding> % import Debug.Trace
11:49:48 <yahb> tomsmeding:
11:49:57 <tomsmeding> % sequence [trace "hi" (return ()), trace "by" (return ())] >> putStrLn "ok"
11:49:58 <yahb> tomsmeding: hi; by; ok
11:50:46 <tomsmeding> hm that might not be a great test
11:50:59 <siers> you're probably right though
11:51:01 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
11:51:19 Guest87676 joins (~laudiacay@45.162.228.190)
11:52:31 × patjameson quits (~patjameso@139.28.218.148) (Remote host closed the connection)
11:53:14 urodna joins (~urodna@unaffiliated/urodna)
11:55:04 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:55:09 frozenErebus joins (~frozenEre@37.231.244.249)
11:56:20 × Guest87676 quits (~laudiacay@45.162.228.190) (Ping timeout: 268 seconds)
11:56:34 <maerwald> Cajun: try `cabal v1-install`, which has that legacy behavior... however, generally you don't want that but use environments
11:57:32 <maerwald> --lib in v2 isn't that much used, so I wouldn't be surprised if there are bugs
11:57:36 rodriga joins (~quassel@134.204.25.66)
11:57:53 <ski> % let sequenceInterleaveIO :: [IO a] -> IO [a]; sequenceInterleaveIO acts0 = unsafeInterleaveIO case acts0 of [] -> pure []; act:acts -> liftA2 (:) act (sequenceInterleaveIO acts)
11:57:53 <yahb> ski:
11:57:57 <ski> % do us0 <- sequenceInterleaveIO [trace "foo" (pure ()),trace "bar" (pure ())]; trace "baz" case us0 of _:us1 -> trace "quux" case us1 of _:us2 -> trace "frob" case us2 of [] -> pure ()
11:57:57 <yahb> ski: baz; foo; quux; bar; frob
11:58:12 <Cajun> maerwald: so is using `cabal run <PRGM NAME>` and compiling it with flags via the .cabal file a safer option? im new to using any hs package manager
11:58:55 <maerwald> you can also put flags in cabal.project or cabal.project.local
11:59:15 <ski> siers : although, i guess you wanted them to be independent, so `fmap parList . mapM unsafeInterleaveIO' would be better
11:59:20 <maerwald> Cajun: https://cabal.readthedocs.io/en/3.4/cabal-project.html
11:59:26 <ski> (fsvo "better")
11:59:45 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
12:02:17 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
12:06:28 × rond_ quits (531cde7e@bmc126.neoplus.adsl.tpnet.pl) (Quit: Connection closed)
12:06:48 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
12:11:46 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
12:15:33 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:17:43 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
12:18:12 berberman joins (~berberman@unaffiliated/berberman)
12:19:09 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
12:19:28 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 252 seconds)
12:19:46 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
12:20:29 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
12:21:33 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
12:21:55 <nut> will cabal build search recursively all .cabal file inside a folder?
12:22:20 <nut> and run every .cabal file?
12:26:01 mrchampion joins (~mrchampio@38.18.109.23)
12:26:19 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
12:26:42 MMM23 joins (~MMM23@197.253.207.68)
12:27:10 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
12:27:30 <statusfailed> Has anyone seen big-O notation with commas before?
12:27:36 <statusfailed> e.g., O(m, n)
12:28:57 <[exa]> there are some proofs that use it as a function this way but I find it ugly
12:29:09 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
12:29:19 <[exa]> (usually graph-theoretic ones)
12:29:38 <hpc> is that supposed to be m+n or m*n?
12:29:44 <statusfailed> ^ yea that's my question :D
12:29:46 <hpc> or are these algorithms in a universe with two time dimensions? :P
12:29:47 × MMM23 quits (~MMM23@197.253.207.68) (Remote host closed the connection)
12:30:04 <statusfailed> [exa]: I thought it might be max(m, n) too, but not sure
12:32:04 stree joins (~stree@68.36.8.116)
12:32:18 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
12:32:28 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
12:33:55 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
12:34:28 gxt joins (~gxt@gateway/tor-sasl/gxt)
12:34:52 <mupf> Because it might be relevant to some people in here: https://twitter.com/mupfelofen/status/1392363905423486979?s=19
12:36:15 xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com)
12:38:21 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
12:38:43 LKoen_ joins (~LKoen@5.166.9.109.rev.sfr.net)
12:39:45 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
12:40:51 ddellacosta joins (~ddellacos@86.106.143.85)
12:40:55 × LKoen quits (~LKoen@5.166.9.109.rev.sfr.net) (Ping timeout: 252 seconds)
12:40:58 xkapastel joins (uid17782@gateway/web/irccloud.com/x-tetrcihgsohjyxmd)
12:43:29 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds)
12:43:52 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
12:45:19 × ddellacosta quits (~ddellacos@86.106.143.85) (Ping timeout: 252 seconds)
12:45:21 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
12:46:31 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds)
12:46:33 carlomagno joins (~cararell@148.87.23.8)
12:46:48 Lord_of_Life_ is now known as Lord_of_Life
12:47:03 <[exa]> statusfailed: mind linking the source?
12:47:41 <merijn> it's been 3 years already?
12:48:28 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
12:50:46 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds)
12:51:05 gawen_ is now known as gawen
12:51:15 <statusfailed> [exa]: original is here: https://dl.acm.org/doi/pdf/10.1145/355791.355796
12:51:16 <statusfailed> but it's paywalled
12:54:37 pjb is now known as Guest15098
12:55:08 <[exa]> I got it from one nice website with ravens
12:55:28 <statusfailed> hehehe
12:55:31 × Guest15098 quits (~pjb@2a01cb04063ec50081adf5bfe676b3d2.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
12:55:40 <merijn> Google Scholar is good at turning up free pdfs too
12:56:23 Sheilong joins (uid293653@gateway/web/irccloud.com/x-icphufxyhvaabbaa)
12:56:42 <statusfailed> [exa]: I assume the O(p, r, NA, N) bit has to mean either maximum or sum of those, because N is "the number of nontrivial multiplications"- if it's product then surely this algorithm is like O(n^6) worst case
12:56:44 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
12:56:46 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 268 seconds)
12:57:22 <[exa]> yeah sounds like + or `max` would fit there best in any cases
12:57:34 <[exa]> kinda like O(a,b,c) = O(a)+O(b)+O(c)
12:58:02 pjb joins (~pjb@2a01cb04063ec50000c73363e6fc8935.ipv6.abo.wanadoo.fr)
12:58:19 <[exa]> but man, can't they just write +
13:00:51 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
13:00:59 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
13:02:41 <statusfailed> [exa]: ikr :D
13:02:48 <statusfailed> 1978 though, maybe it was the done thing :)
13:02:53 nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9)
13:02:59 × st8less quits (~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Quit: WeeChat 2.9)
13:04:21 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
13:04:57 alx741 joins (~alx741@186.178.109.110)
13:05:48 hoppfull joins (55e07729@c-2977e055.19-9-64736c10.bbcust.telenor.se)
13:07:50 × hoppfull quits (55e07729@c-2977e055.19-9-64736c10.bbcust.telenor.se) (Client Quit)
13:08:26 alexander joins (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d)
13:08:55 alexander is now known as Guest4454
13:10:37 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
13:11:25 stef204 joins (~stef204@unaffiliated/stef-204/x-384198)
13:12:04 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
13:15:35 × Guest4454 quits (~alexander@2a02:587:dc0a:2700:39fb:67a3:1f47:16d) (Ping timeout: 260 seconds)
13:15:50 st8less joins (~st8less@2603:a060:11fd:0:e37e:d5f2:9e75:29eb)
13:16:40 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
13:18:03 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:18:45 chomwitt joins (~alexander@ppp-2-85-245-254.home.otenet.gr)
13:20:31 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
13:21:31 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
13:22:36 × pjb quits (~pjb@2a01cb04063ec50000c73363e6fc8935.ipv6.abo.wanadoo.fr) (Read error: Connection reset by peer)
13:24:41 chris__ joins (~chris@81.96.113.213)
13:25:06 × m1dnight_ quits (~m1dnight@188.ip-51-91-158.eu) (Quit: WeeChat 2.4)
13:25:26 m1dnight_ joins (~m1dnight@188.ip-51-91-158.eu)
13:29:34 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
13:29:51 × TimesUp quits (57010b6e@host-87-1-11-110.retail.telecomitalia.it) (Quit: Connection closed)
13:30:47 elliott_ joins (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net)
13:31:09 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:33:15 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
13:33:36 howdoi joins (uid224@gateway/web/irccloud.com/x-vnlzmngtivqzgqpc)
13:34:05 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
13:34:14 viluon joins (uid453725@gateway/web/irccloud.com/x-mitaxlcfeovagyrl)
13:35:22 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
13:35:46 × hypercube quits (~hypercube@75.186.121.128) (Ping timeout: 240 seconds)
13:38:16 × st8less quits (~st8less@2603:a060:11fd:0:e37e:d5f2:9e75:29eb) (Ping timeout: 276 seconds)
13:39:20 st8less joins (~st8less@inet-167-224-197-181.isp.ozarksgo.net)
13:40:43 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
13:44:33 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
13:45:36 Tario joins (~Tario@201.192.165.173)
13:46:22 × carlomagno quits (~cararell@148.87.23.8) (Ping timeout: 252 seconds)
13:46:43 carlomagno joins (~cararell@148.87.23.8)
13:46:55 × bobbytables quits (~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com) (Ping timeout: 252 seconds)
13:48:47 bobbytables joins (~bobbytabl@ec2-44-224-191-138.us-west-2.compute.amazonaws.com)
13:49:07 × s00pcan quits (~chris@107.181.165.217) (Ping timeout: 252 seconds)
13:50:45 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
13:51:26 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
13:52:13 <cheater> i have a list of monadic values, [m a] and i'd like to force all of them to compute but i only want to keep the last a. how do i do that?
13:52:57 <merijn> :t foldl1 (>>)
13:52:58 <lambdabot> (Foldable t, Monad m) => t (m a) -> m a
13:53:20 <cheater> thanks
13:53:21 <ski> s/force/execute/
13:54:11 <ski> (or perhaps s/force/cause/ with s/compute/execute/ ..)
13:54:41 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
13:55:24 <cheater> ski: i need to make sure they don't get wished away by the compiler.
13:55:37 <cheater> i need to make sure those computations actually run on the hardware.
13:56:03 <merijn> cheater: The compiler doesn't wish things away
13:56:14 <cheater> you know what i mean. laziness.
13:56:26 Iceland_jack joins (~user@95.147.45.92)
13:56:34 <merijn> laziness is orthogonal to monadic effects
13:56:59 <cheater> :/
13:57:00 jao joins (~jao@pdpc/supporter/professional/jao)
13:57:17 ddellac__ joins (~ddellacos@86.106.143.189)
13:57:35 pjb joins (~pjb@2a01cb04063ec50010052b303219aac8.ipv6.abo.wanadoo.fr)
13:57:50 <cheater> confused
13:57:53 <merijn> You can only observe side-effects and >> for IO enforces their ordering and observability
13:58:22 <cheater> yeah that doesn't help me
13:58:30 <merijn> cheater: My point was: laziness is irrelevant for the observability of side-effects (unless you're using unsafeX, which is on you)
13:58:39 <cheater> i have a monadic value which i want to run 1000 times for a benchmark.
13:59:01 <cheater> i still have no idea what you're saying
13:59:03 <merijn> cheater: oh, that problem has an even simpler solution
13:59:07 <merijn> @hackage criterion
13:59:08 <lambdabot> https://hackage.haskell.org/package/criterion
13:59:11 <cheater> no
13:59:53 <cheater> that doesn't work for me
13:59:53 Sgeo joins (~Sgeo@ool-18b9875e.dyn.optonline.net)
13:59:56 <cheater> i need to do this by hand
14:00:20 <cheater> this is inside the monad from the accelerate library
14:00:40 <cheater> it takes ages to upload data onto the gpu and then the computation happens. i want to measure the computation itself, not the upload time.
14:00:56 bahamas joins (~lucian@unaffiliated/bahamas)
14:00:57 <cheater> however, all of that is performed as a single IO action.
14:01:11 <merijn> cheater: well, then you're hosed
14:01:22 <cheater> please be nice
14:01:23 frozenErebus joins (~frozenEre@37.231.244.249)
14:01:26 <cheater> my day is crap as it is
14:01:31 <merijn> No, I'm serious
14:01:39 <cheater> no. you're not.
14:01:45 <merijn> Benchmarking stuff like that is really tricky and there is no quick and simple solution
14:02:02 × ddellac__ quits (~ddellacos@86.106.143.189) (Ping timeout: 265 seconds)
14:02:07 <cheater> so rather than talk about criterion let's go back to what i was originally trying to do
14:02:08 <cheater> which is
14:02:13 <merijn> You'll have to pry apart the accelerate single IO action into something you can splice timings into
14:02:15 <cheater> make 1000 copies of a monadic action run
14:02:19 <cheater> lol, no
14:02:28 <cheater> i'll just run the thing so many times that the upload time is insignificant
14:03:02 <merijn> Yeah, but getting the compiler to actually run trivial loops like that multiple times is not easy
14:03:02 <exarkun> cheater: Why don't you just subtract the upload time
14:03:06 <cheater> or i can run it 1000, 2000, and 3000 x, look at the wall times, and curve fit the cost of just the computation.
14:03:16 <cheater> exarkun: the upload time cannot be measured separately from the computation.
14:03:20 <exarkun> cheater: Sure it can
14:03:26 <exarkun> You control the computation right?
14:03:36 <cheater> what's your idea?
14:03:57 <exarkun> Upload a basically-free computation. Maybe repeat it a lot of times to get the distribution.
14:04:00 <cheater> just change the computation?
14:04:09 <merijn> cheater: by "hosed" I meant "you will have to do a lot of manual effort to ensure the compiler doesn't defeat your logic and actually run it 1000 times"
14:04:16 <exarkun> Now you know what an upload costs, right?
14:04:19 <cheater> a single computation will get hidden in the noise
14:04:25 <merijn> exarkun: Not really
14:04:27 <exarkun> Where does the noise come from?
14:04:33 <merijn> Data transfer to GPU is rather noisy
14:04:45 <merijn> cheater: nvidia gpu?
14:04:48 <cheater> yes
14:04:50 <cheater> it's a T4
14:05:00 <merijn> cheater: Here's an entirely different idea
14:05:06 <cheater> i'm comparing against the cpu backend (accelerate allows both)
14:05:08 <merijn> cheater: Run your code inside nvprof?
14:05:21 <merijn> cheater: nvprof can time actual kernel invocations
14:05:23 <cheater> never heard of that. what would that do?
14:05:33 <merijn> cheater: It's nvidia's profiling tool
14:05:44 <cheater> ok, and what does it tell me?
14:05:45 <exarkun> People can extract the signal that comes from the difference between memcmp looking at 4 bytes instead of 8 bytes in JavaScript over the public internet
14:05:52 <cheater> not sure how to run it , let me look
14:05:53 <exarkun> Does transfer to a GPU have more noise than that?
14:06:09 <cheater> exarkun: that's an interesting idea, but i'll try other approaches first.
14:06:18 <merijn> cheater: Well, I mostly work with handwritten CUDA, but presumably accelerate just generates CUDA/openCL kernels
14:06:31 <merijn> cheater: nvprof tracks kernel launches (and finishing) in the driver
14:06:40 <merijn> cheater: So you bypass the host code entirely in your measurements
14:06:44 <merijn> cheater: https://docs.nvidia.com/cuda/profiler-users-guide/index.html
14:06:48 <cheater> merijn: what it does is it invokes llvm at runtime to compile its program into cuda, and then runs that.
14:06:58 <cheater> i'm not sure if nvprof will catch that out
14:07:05 <merijn> cheater: Sure it will
14:07:08 <cheater> ok
14:07:15 <cheater> let me try that then
14:07:18 <merijn> cheater: It can't bypass the nvidia driver in the kernel
14:07:26 <cheater> *shrug* yeah
14:07:32 <merijn> cheater: That's the only way to talk to the GPU and nvprof interacts with the driver
14:07:52 larsan1 joins (~larsan@37.120.211.188)
14:08:05 <merijn> cheater: Can't hurt to try anyway, at worst you spend 10 minutes and it fails, at best it saves you hours of coding :p
14:08:06 <cheater> so what, just nvprov my-binary ?
14:08:34 <cheater> hmm yeah that's nice
14:08:41 <cheater> that actually did a thing
14:08:49 <merijn> \o/
14:08:52 <cheater> however
14:08:58 <cheater> i'm not sure how to measure the cpu then
14:09:05 <cheater> because the same tool does not exist for the cpu backend.
14:09:13 <cheater> so i'm back to square one on that.
14:10:38 nineonine joins (~nineonine@50.216.62.2)
14:12:59 kidbuu joins (~Thunderbi@116.40.185.87)
14:13:00 <cheater> i wish accelerate had a LiftIO of some sort
14:13:03 <cheater> but it doesn't seem to
14:13:57 × nineonin_ quits (~nineonine@2604:3d08:777e:900:e4fe:87c8:c43b:fc90) (Ping timeout: 250 seconds)
14:18:19 isovector joins (~isovector@172.103.216.166.cable.tpia.cipherkey.com)
14:19:43 × LKoen_ quits (~LKoen@5.166.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
14:21:19 <cheater> ah, crap. the thing i thought was a monad isn't a monad.
14:21:30 <cheater> https://hackage.haskell.org/package/accelerate-1.3.0.0/docs/Data-Array-Accelerate.html#t:Acc
14:21:48 waleee-cl joins (uid373333@gateway/web/irccloud.com/x-tqrlgrprcnuqmtaa)
14:24:22 dvdp73 joins (59736826@38.104.115.89.rev.vodafone.pt)
14:25:07 × kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
14:30:47 × nerdypepper quits (znc@152.67.162.71) (Ping timeout: 245 seconds)
14:31:04 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
14:31:12 Shuppiluliuma joins (~shuppilul@153.33.68.161)
14:34:47 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:37:47 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
14:38:41 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
14:40:11 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
14:41:01 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
14:41:22 × Shuppiluliuma quits (~shuppilul@153.33.68.161) (Ping timeout: 252 seconds)
14:42:06 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
14:44:15 frozenErebus joins (~frozenEre@37.231.244.249)
14:44:41 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
14:45:59 nerdypepper joins (znc@152.67.162.71)
14:48:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
14:48:13 <mupf> merijn: yes, three years to the day.
14:49:37 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 252 seconds)
14:49:53 × jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 260 seconds)
14:50:26 Franciman joins (~francesco@host-79-13-131-112.retail.telecomitalia.it)
14:50:34 <Franciman> Hi, is there any arm build for cabal?
14:51:53 auri_ joins (~admin@fsf/memeber/auri-)
14:52:11 <siraben> Can someone clarify what the difference is between deep/shallow embedding of DSLs?
14:52:14 <siraben> and which kind is tagless-final?
14:52:38 × isovector quits (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Ping timeout: 246 seconds)
14:52:42 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
14:53:22 stree joins (~stree@68.36.8.116)
14:54:08 <dminuoso> https://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/embedding-short.pdf
14:55:10 <cheater> tomsmeding: hey are you around? :)
14:56:34 <siraben> dminuoso: thanks
14:58:06 × johannes_ quits (~johannes@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 265 seconds)
14:58:23 <maerwald> Franciman: yes
14:58:32 <maerwald> Franciman: ghcup already has it
14:58:42 anandprabhu joins (~AnandPrab@94.202.236.255)
14:58:51 ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
14:59:13 <maerwald> https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/
14:59:37 <maerwald> aarch64 is here https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/
15:01:05 solidus-river joins (~mike@174.127.249.180)
15:01:05 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
15:02:48 isovector joins (~isovector@172.103.216.166)
15:03:07 nbloomf joins (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9)
15:05:13 boxscape joins (54a350dc@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.80.220)
15:05:35 <tomsmeding> cheater: meetings meetings I'll be there in a little while
15:06:05 <cheater> tomsmeding: thanks. i'm stuck on something stupid :)
15:06:48 × kidbuu quits (~Thunderbi@116.40.185.87) (Ping timeout: 265 seconds)
15:08:15 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
15:09:09 × Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
15:10:04 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
15:10:11 <Franciman> OHOH maerwald thanks a lot
15:10:12 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:10:15 <Franciman> I am stupid
15:10:21 <Franciman> I didn't know aarch64 -> arm
15:10:27 <Franciman> sorry
15:10:30 <Franciman> thank you very much
15:11:10 × ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
15:12:46 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
15:12:50 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
15:13:24 × chele quits (~chele@78.128.94.174) (Remote host closed the connection)
15:16:45 × snowflake_ quits (~snowflake@gateway/tor-sasl/snowflake) (Ping timeout: 240 seconds)
15:17:11 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
15:17:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:17:55 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
15:17:58 jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg)
15:18:14 snowflake joins (~snowflake@gateway/tor-sasl/snowflake)
15:19:00 Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer)
15:19:08 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
15:20:23 × bahamas quits (~lucian@unaffiliated/bahamas) (Quit: leaving)
15:22:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
15:24:14 × jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Ping timeout: 252 seconds)
15:25:33 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:31:08 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 246 seconds)
15:32:33 ddellaco_ joins (~ddellacos@2607:fb90:7bc4:5936:6dbb:f322:269c:ab90)
15:32:41 rj joins (~x@gateway/tor-sasl/rj)
15:34:04 × rembo10 quits (~rembo10@wally.codeshy.com) (Quit: ZNC 1.8.2 - https://znc.in)
15:34:16 nut joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
15:36:00 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
15:36:08 plutoniix joins (~q@node-uom.pool-125-24.dynamic.totinternet.net)
15:39:44 rembo10 joins (~rembo10@wally.codeshy.com)
15:42:03 × rj quits (~x@gateway/tor-sasl/rj) (Remote host closed the connection)
15:42:26 rj joins (~x@gateway/tor-sasl/rj)
15:42:41 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
15:45:50 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
15:46:13 ddellacosta joins (~ddellacos@86.106.143.85)
15:50:46 × ddellacosta quits (~ddellacos@86.106.143.85) (Ping timeout: 240 seconds)
15:51:46 Guest87676 joins (~laudiacay@45.162.228.190)
15:53:15 CuPenguin joins (~CuPenguin@207.38.239.235)
15:54:10 × dvdp73 quits (59736826@38.104.115.89.rev.vodafone.pt) (Quit: Connection closed)
15:54:47 × CuPenguin quits (~CuPenguin@207.38.239.235) (Client Quit)
15:54:56 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
15:54:57 jgt_ joins (~jgt@92-247-237-116.spectrumnet.bg)
15:56:50 × Guest87676 quits (~laudiacay@45.162.228.190) (Ping timeout: 268 seconds)
15:57:42 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
15:58:30 CuPenguin joins (~CuPenguin@207.38.239.235)
16:00:07 × coeus quits (~coeus@p200300d0270e5d005047ffeaff29ea8d.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
16:01:14 Deide joins (~Deide@217.155.19.23)
16:01:48 is_null joins (~jpic@pdpc/supporter/professional/is-null)
16:01:57 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
16:04:06 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Ping timeout: 240 seconds)
16:04:36 × Franciman quits (~francesco@host-79-13-131-112.retail.telecomitalia.it) (Quit: Leaving)
16:04:58 ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
16:05:12 john2gb0 joins (~john2gb@94-225-47-8.access.telenet.be)
16:05:16 gzj joins (~gzj@unaffiliated/gzj)
16:06:12 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
16:06:33 gzj joins (~gzj@unaffiliated/gzj)
16:07:38 horatiohb joins (~horatiohb@165.227.100.221)
16:09:42 rj joins (~x@gateway/tor-sasl/rj)
16:10:33 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:10:56 × Iceland_jack quits (~user@95.147.45.92) (Remote host closed the connection)
16:11:05 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
16:11:12 × cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 245 seconds)
16:11:48 chris__ joins (~chris@81.96.113.213)
16:13:03 coeus joins (~coeus@p200300d027185300a972ce3c629dc872.dip0.t-ipconnect.de)
16:14:17 Iceland_jack joins (~user@95.147.45.92)
16:14:46 × jgt_ quits (~jgt@92-247-237-116.spectrumnet.bg) (Quit: WeeChat 2.9)
16:15:00 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
16:15:56 × chris__ quits (~chris@81.96.113.213) (Ping timeout: 252 seconds)
16:16:39 × pjb quits (~pjb@2a01cb04063ec50010052b303219aac8.ipv6.abo.wanadoo.fr) (Read error: Connection reset by peer)
16:16:58 × d0liver quits (sid363046@gateway/web/irccloud.com/x-bukxdaptkmbbznsf) (Ping timeout: 246 seconds)
16:16:58 × crtschin quits (~crtschin@2604:a880:800:10::3126:f001) (Ping timeout: 246 seconds)
16:17:04 × nut quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
16:17:10 crtschin joins (~crtschin@2604:a880:800:10::3126:f001)
16:17:48 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
16:18:46 d0liver joins (sid363046@gateway/web/irccloud.com/x-uorggmzqszfdbvwp)
16:20:50 × jlamothe quits (~jlamothe@198.251.57.81) (Quit: leaving)
16:22:44 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
16:23:21 × boxscape quits (54a350dc@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.80.220) (Ping timeout: 268 seconds)
16:23:54 eacameron joins (uid256985@gateway/web/irccloud.com/x-zxawmwxofpaehxur)
16:24:46 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
16:25:39 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
16:25:48 × anandprabhu quits (~AnandPrab@94.202.236.255) (Quit: Leaving)
16:26:32 × malumore_ quits (~malumore@151.62.125.25) (Remote host closed the connection)
16:26:51 jlamothe joins (~jlamothe@198.251.57.81)
16:26:51 malumore_ joins (~malumore@151.62.125.25)
16:28:46 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
16:28:46 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (Ping timeout: 260 seconds)
16:29:08 × Tene quits (~tene@poipu/supporter/slacker/tene) (Ping timeout: 252 seconds)
16:31:45 × ddellaco_ quits (~ddellacos@2607:fb90:7bc4:5936:6dbb:f322:269c:ab90) (Ping timeout: 250 seconds)
16:32:51 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
16:34:13 fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net)
16:35:28 ByronJohnson joins (~bairyn@unaffiliated/bob0)
16:35:53 Tene joins (~tene@mail.digitalkingdom.org)
16:35:53 × Tene quits (~tene@mail.digitalkingdom.org) (Changing host)
16:35:53 Tene joins (~tene@poipu/supporter/slacker/tene)
16:38:34 × nineonine quits (~nineonine@50.216.62.2) (Remote host closed the connection)
16:39:11 nineonine joins (~nineonine@50.216.62.2)
16:39:33 ozzymcduff joins (~textual@81-234-151-21-no94.tbcn.telia.com)
16:40:30 × m_shiraeeshi quits (~shiraeesh@109.166.59.168) (Ping timeout: 252 seconds)
16:41:14 cortexauth joins (~cortexaut@2409:4053:780:374a:c0f9:7924:2e2c:978d)
16:41:15 × cortexauth quits (~cortexaut@2409:4053:780:374a:c0f9:7924:2e2c:978d) (Client Quit)
16:42:32 hatds joins (~HAL@c-107-4-136-72.hsd1.mn.comcast.net)
16:44:01 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds)
16:44:19 m_shiraeeshi joins (~shiraeesh@109.166.59.168)
16:44:34 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
16:46:41 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
16:46:45 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
16:48:08 dariof4 joins (~dario@178.249.202.150)
16:49:20 rj joins (~x@gateway/tor-sasl/rj)
16:49:38 ddellac__ joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
16:49:56 <hatds> Where does cabal expect to find (static) C libraries that it is told to link when compiling a package from hackage? Is it the same place ghc expects to find libraries? The documentation only talks about sending paths with -l and -L, etc., but what are the default locations searched? (and is there a best practice location on windows to put random C-libs I'm downloading off the internet to get some-random-package to run?)
16:50:15 pjb joins (~pjb@2a01cb04063ec50010052b303219aac8.ipv6.abo.wanadoo.fr)
16:54:28 × ddellac__ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
16:54:56 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:692a:95b:a9cd:2f9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:55:58 nbloomf joins (~nbloomf@2600:1700:ad14:3020:9d88:fa76:8cb0:666d)
16:58:21 <geekosaur> ghc will look where the C compiler looks by default. afaik that is only well defined on unixlikes, not on windows
16:58:31 × Kaiepi quits (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer)
16:58:32 Kaeipi joins (~Kaiepi@47.54.252.148)
16:59:13 <geekosaur> although f you're using mingw it should be its /usr/lib
16:59:46 <cheater> hatds: on linux it's set by the linker config in /etc.
17:00:02 <dminuoso> Also consider using pkgconfig-depends, hatds
17:00:43 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
17:00:50 × yoneda quits (~mike@193.206.102.122) (Quit: leaving)
17:01:25 × stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds)
17:02:47 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
17:03:38 <hatds> thanks all (@geekosaur, @cheater, @dminuoso). So what do haskellers on windows generally do when they download packages that contain C dependencies.. give full paths to cabal everytime they install something?
17:03:52 <cheater> idk i would like to know as well
17:03:55 <cheater> are you using llvm on windows btw?
17:04:00 <hatds> no
17:04:08 <cheater> ok. because it's broken.
17:04:30 <dminuoso> Dunno, does pkgconf work on windows?
17:04:43 <geekosaur> with mingw, yes
17:04:55 <dminuoso> https://github.com/mesonbuild/meson/issues/4029
17:05:01 <dminuoso> Heh, this looks like *quite* a journey
17:05:09 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
17:05:13 <geekosaur> if there's a native build that uses msc somewhere, that isn't guaranteed to use anything
17:05:44 bitmagie joins (~Thunderbi@200116b806f96a003829ba6732a572cc.dip.versatel-1u1.de)
17:05:51 <hatds> pkgconf... I've seen some packages use that in their cabal file somewhere, but I'm installing something that is not my package... don't really want to manually edit the project to rely on pkgconf and figure out the right incantions for that
17:08:34 jpds joins (~jpds@gateway/tor-sasl/jpds)
17:09:16 <dminuoso> hatds: on linux thats the point of pkg-conf, it just works automagically most of the time
17:09:19 frozenErebus joins (~frozenEre@37.231.244.249)
17:09:24 <dminuoso> https://github.com/k0001/hs-libsodium/blob/master/libsodium/libsodium.cabal#L22
17:10:12 <geekosaur> well behaved packages install .pc files for pkg-config
17:11:00 grepcake joins (~artyom@77.234.209.96)
17:11:06 <maerwald> geekosaur: depends
17:13:49 × jonathanx_ quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Quit: Leaving)
17:13:55 stree joins (~stree@68.36.8.116)
17:14:05 × CrazyPython quits (~crazypyth@206.214.238.6) (Ping timeout: 260 seconds)
17:14:16 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
17:14:38 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
17:15:26 Shuppiluliuma joins (~shuppilul@153.33.68.161)
17:15:37 Merfont joins (~Kaiepi@47.54.252.148)
17:15:50 × Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
17:16:28 ddellac__ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
17:18:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:18:45 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
17:19:05 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
17:21:11 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
17:21:38 kuribas parts (~user@ptr-25vy0i905bdcx4bbbsp.18120a2.ip6.access.telenet.be) ("ERC (IRC client for Emacs 26.3)")
17:24:05 frozenErebus joins (~frozenEre@37.231.244.249)
17:25:49 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
17:27:39 × ubert quits (~Thunderbi@p200300ecdf005e54e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
17:27:43 <maerwald> does llvm have them even?
17:28:08 <maerwald> I think foo-config binaries are equally viable... it's just they're unergonomic to use in Cabal
17:28:15 <maerwald> there should be better support for that
17:29:09 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
17:33:06 deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
17:36:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
17:38:10 Aquazi joins (uid312403@gateway/web/irccloud.com/x-oagakatzmderzmkp)
17:39:54 × stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1)
17:40:12 rj joins (~x@gateway/tor-sasl/rj)
17:43:45 × waleee-cl quits (uid373333@gateway/web/irccloud.com/x-tqrlgrprcnuqmtaa) (Quit: Connection closed for inactivity)
17:44:10 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
17:46:10 × kiltzman quits (~k1ltzman@195.189.99.96) (Ping timeout: 252 seconds)
17:50:37 kiltzman joins (~k1ltzman@195.189.99.96)
17:52:44 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
17:53:52 × coot quits (~coot@37.30.58.122.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
17:54:28 sedeki joins (~textual@unaffiliated/sedeki)
17:56:13 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
17:56:52 <CuPenguin> anybody here using NixOS?
17:57:47 × CuPenguin quits (~CuPenguin@207.38.239.235) (Quit: WeeChat 3.1)
17:57:49 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
17:59:27 × nvmd quits (~nvmd@177.30.111.232) (Quit: Later nerds.)
18:00:48 × sedeki quits (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
18:01:48 × bitmagie quits (~Thunderbi@200116b806f96a003829ba6732a572cc.dip.versatel-1u1.de) (Quit: bitmagie)
18:02:11 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
18:03:04 epicte7us joins (~epictetus@ip72-194-54-201.sb.sd.cox.net)
18:04:23 × hatds quits (~HAL@c-107-4-136-72.hsd1.mn.comcast.net) (Quit: Leaving)
18:06:11 × ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 246 seconds)
18:06:41 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds)
18:06:57 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 268 seconds)
18:07:49 Tario joins (~Tario@201.192.165.173)
18:08:31 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
18:09:49 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
18:10:41 ukari joins (~ukari@unaffiliated/ukari)
18:12:47 × Merfont quits (~Kaiepi@47.54.252.148) (Remote host closed the connection)
18:12:58 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
18:13:05 Merfont joins (~Kaiepi@47.54.252.148)
18:14:45 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
18:15:05 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.9)
18:17:12 notzmv joins (~zmv@unaffiliated/zmv)
18:20:46 × malumore_ quits (~malumore@151.62.125.25) (Ping timeout: 240 seconds)
18:22:27 chimera joins (~chimera@120-192-113-92.pool.ukrtel.net)
18:27:15 × mceier quits (~mceier@89-68-132-187.dynamic.chello.pl) (Read error: Connection reset by peer)
18:30:11 mceier joins (~mceier@89-68-132-187.dynamic.chello.pl)
18:30:29 × rajivr quits (uid269651@gateway/web/irccloud.com/x-hokcqwgivdarxuri) (Quit: Connection closed for inactivity)
18:30:46 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds)
18:31:29 <sm[m]> nope, no nix fans in here.. move along, move along
18:31:36 guriya joins (a0ee4b60@unaffiliated/guriya)
18:32:23 rj joins (~x@gateway/tor-sasl/rj)
18:32:51 Pickchea joins (~private@unaffiliated/pickchea)
18:37:31 × m_shiraeeshi quits (~shiraeesh@109.166.59.168) (Remote host closed the connection)
18:37:59 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
18:38:57 shiraeeshi joins (~shiraeesh@109.166.59.168)
18:39:01 <aldum> I beg to differ, somewhat
18:39:22 <aldum> haven't booted it in some months, but I do have an install
18:40:06 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
18:40:28 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
18:40:41 <deejaytee> I use it a fair bit at work - I'm not clever enough for it, so it gives me grief
18:40:59 <deejaytee> s/use/have to use
18:41:01 × shiraeeshi quits (~shiraeesh@109.166.59.168) (Remote host closed the connection)
18:41:02 <monochrom> Pretty sure it was a joke.
18:41:31 <deejaytee> The question or the subject? :P
18:42:49 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
18:44:35 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:f4a2:7a57:7d89:6f13) (Ping timeout: 260 seconds)
18:47:06 <tomjaguarpaw> bitonic: Sorry, I missed your message about Opaleye. The best way of getting my attention is to file an issue on Opaleye Github. But no, it doesn't support any binary format. In fact I didn't know there was one! I would be very encouraging of supporting it though. I guess the idea is that it has better performance? Anyway, if you want to discuss more please open an issue.
18:47:50 <bitonic> tomjaguarpaw: no problem. yes, the idea is that it has better performance. we're dealing with ~10MB jsonb columns and it takes many seconds to roundtrip them
18:47:54 <bitonic> i will open an issue
18:48:51 garFF joins (~garff@0x3e2c86d9.mobile.telia.dk)
18:48:56 garFF_ joins (~garff@0x3e2c86d9.mobile.telia.dk)
18:49:40 × garFF_ quits (~garff@0x3e2c86d9.mobile.telia.dk) (Client Quit)
18:50:22 <veverak> I am lost in this
18:50:37 <veverak> I have `Double`, how to convert it to Scientific?
18:50:52 <veverak> (I use Double for radians, library I am using expects Scientific)
18:52:06 <tomjaguarpaw> fromFloatDigits? "Convert a RealFloat (like a Double or Float) into a Scientific number."
18:52:18 <veverak> ah, yes
18:52:26 <veverak> thanks, I was blind when reading the doc
18:52:36 <tomjaguarpaw> Easy to do
18:52:53 <bitonic> tomjaguarpaw: https://github.com/tomjaguarpaw/haskell-opaleye/issues/506 fairly nondescript issue, feel free to ask for more details (although i'm not an expert myself)
18:54:13 <tomjaguarpaw> Oh, you are mazzo.li? Nice blog post on backpropagation!
18:57:23 hexfive joins (~hexfive@50.35.83.177)
18:57:36 × dariof4 quits (~dario@178.249.202.150) (Quit: WeeChat 3.1)
18:58:43 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:59:57 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
19:07:10 <grepcake> Is anyone familiar with async-pool? It seems to deadlock on pretty simple things, or maybe I'm misusing it. The example: https://paste.tomsmeding.com/g7D1u8vA. I have -threaded and -N4 specified, launch it as `stack test --ta "-m taskgroup"`
19:08:07 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 252 seconds)
19:10:19 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
19:14:08 texasmynsted joins (~texasmyns@99.96.221.112)
19:16:04 × guriya quits (a0ee4b60@unaffiliated/guriya) (Quit: Connection closed)
19:16:11 ddellacosta joins (~ddellacos@86.106.143.176)
19:17:13 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
19:20:22 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:20:44 × ddellacosta quits (~ddellacos@86.106.143.176) (Ping timeout: 246 seconds)
19:21:36 pthariensflame joins (~pthariens@2600:6c52:727f:4200:9014:9cc:687a:9478)
19:21:53 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
19:22:36 × pthariensflame quits (~pthariens@2600:6c52:727f:4200:9014:9cc:687a:9478) (Client Quit)
19:25:40 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
19:26:23 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
19:26:36 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:27:22 rj joins (~x@gateway/tor-sasl/rj)
19:28:18 ubert joins (~Thunderbi@p200300ecdf005e54e6b318fffe838f33.dip0.t-ipconnect.de)
19:29:36 <dminuoso> grepcake: There's something odd here, the second argument to withTaskGroup ought to be a function, not an IO value.
19:31:04 <dminuoso> Does this really compile for you?
19:31:26 × ram19890 quits (~ram@49.205.82.36) (Ping timeout: 240 seconds)
19:32:20 <dminuoso> Ah, I suck at reading types today.
19:35:03 × Solarion quits (~solarion@fsf/member/solarion) (Ping timeout: 265 seconds)
19:35:11 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
19:35:17 Solarion joins (~solarion@mail.digitasaru.net)
19:35:31 stree joins (~stree@68.36.8.116)
19:36:47 × Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving)
19:36:59 <grepcake> dminuoso: you probably've figured it out, but it's an eta-reduced function, tg is implicit
19:39:57 × xff0x quits (~xff0x@2001:1a81:523e:f300:f7bd:d435:471d:3982) (Ping timeout: 246 seconds)
19:40:16 xff0x joins (xff0x@gateway/vpn/mullvad/xff0x)
19:40:46 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
19:41:24 <dminuoso> main = print =<< withTaskGroup 4 acting where acting g = sum <$> mapConcurrently g pure [2,3,4,5,6]
19:41:26 <dminuoso> Works fine for me
19:43:16 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds)
19:43:26 <grepcake> dminuoso: Yes, it works with mapConcurrently but not with Concurrently
19:43:59 <grepcake> Moreover, it does work when the number of tasks is lesser than the pool capacity
19:44:18 dariof4 joins (~dario@178.249.202.150)
19:44:45 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
19:45:01 <grepcake> (and I kind of need to have Concurrently, so I'm stuck with it) I guess I'll report the issue and move on to unliftio.async
19:45:31 <dminuoso> Concurrently fs <*> Concurrently as = Concurrently $ \tg -> (\(f, a) -> f a) <$> concurrently tg (fs tg) (as tg)
19:45:33 <dminuoso> Mmm
19:45:54 <dminuoso> mapConcurrently f = runConcurrently . traverse (Concurrently . f)
19:45:55 <dminuoso> This is strange
19:47:24 × vchlup_ quits (~vchlup@nat.brnet.cz) (Remote host closed the connection)
19:47:37 × xff0x quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 265 seconds)
19:47:47 vchlup_ joins (~vchlup@nat.brnet.cz)
19:48:24 <dminuoso> Ah that's the wrong mapConcurrently definition
19:48:32 <dminuoso> mapConcurrently tg f = mapTasks tg . fmap f
19:49:00 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
19:49:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:49:29 xff0x joins (~xff0x@2001:1a81:523e:f300:f7bd:d435:471d:3982)
19:49:29 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:50:05 freeman42x joins (~40726@2a02:2f0c:5407:600:3170:9538:f09e:98fe)
19:50:11 × freeman42x quits (~40726@2a02:2f0c:5407:600:3170:9538:f09e:98fe) (Max SendQ exceeded)
19:51:31 × Xnuk quits (~xnuk@vultr.xnu.kr) (Ping timeout: 250 seconds)
19:51:46 × nerdypepper quits (znc@152.67.162.71) (Ping timeout: 260 seconds)
19:51:50 freeman42x joins (~40726@2a02:2f0c:5407:600:3170:9538:f09e:98fe)
19:52:07 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
19:52:40 × freeman42x quits (~40726@2a02:2f0c:5407:600:3170:9538:f09e:98fe) (Client Quit)
19:53:22 joncol joins (~jco@c83-248-173-38.bredband.tele2.se)
19:53:54 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
19:54:00 × joncol quits (~jco@c83-248-173-38.bredband.tele2.se) (Client Quit)
19:55:47 rj joins (~x@gateway/tor-sasl/rj)
19:57:15 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:59:23 nerdypepper joins (znc@152.67.162.71)
19:59:49 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
19:59:56 gzj joins (~gzj@unaffiliated/gzj)
20:00:15 Xnuk joins (~xnuk@45.76.202.58)
20:00:44 bor0 joins (~boro@unaffiliated/boro/x-000000001)
20:04:03 × grepcake quits (~artyom@77.234.209.96) (Ping timeout: 265 seconds)
20:04:36 × gzj quits (~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds)
20:05:11 × petersen quits (~petersen@redhat/juhp) (Ping timeout: 246 seconds)
20:05:32 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
20:06:05 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
20:06:13 <dminuoso> geekosaur: I feel like this is related to https://github.com/jwiegley/async-pool/issues/7
20:06:28 <dminuoso> Judging from the original implementation, Id say it's exactly the same
20:06:51 <geekosaur> I think you wanted grepcake
20:06:57 <geekosaur> but they left
20:07:42 <dminuoso> Oh, indeed.
20:08:04 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
20:08:31 petersen joins (~petersen@redhat/juhp)
20:12:26 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:14:56 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 258 seconds)
20:19:59 nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
20:22:53 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
20:23:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
20:27:09 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
20:27:19 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
20:28:24 Sigyn joins (sigyn@freenode/utility-bot/sigyn)
20:28:24 ChanServ sets mode +o Sigyn
20:29:04 × NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Ping timeout: 276 seconds)
20:29:26 notzmv joins (~zmv@unaffiliated/zmv)
20:32:12 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:33:33 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
20:34:12 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
20:41:10 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
20:42:30 × Feuermagier quits (~Feuermagi@213.178.26.41) (Read error: Connection reset by peer)
20:44:13 rj joins (~x@gateway/tor-sasl/rj)
20:45:26 × rodriga quits (~quassel@134.204.25.66) (Ping timeout: 268 seconds)
20:47:02 × ozzymcduff quits (~textual@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:48:17 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
20:50:43 × bor0 quits (~boro@unaffiliated/boro/x-000000001) (Quit: Leaving)
20:53:30 shiraeeshi joins (~shiraeesh@109.166.58.127)
20:54:39 NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur)
20:54:58 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
20:55:32 corvusdev joins (~corvusdev@50.212.103.45)
20:56:11 rond_ joins (531cde7e@bmc126.neoplus.adsl.tpnet.pl)
20:57:33 × seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Quit: WeeChat 3.1)
20:57:53 × chomwitt quits (~alexander@ppp-2-85-245-254.home.otenet.gr) (Ping timeout: 240 seconds)
20:59:42 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:9d88:fa76:8cb0:666d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:59:46 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
21:00:23 × NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Ping timeout: 260 seconds)
21:00:25 ndn76kxuwwy2848s joins (ndn76kxuww@gateway/shell/matrix.org/x-jmvtxzckfsdewjru)
21:02:03 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
21:03:31 × Solarion quits (~solarion@mail.digitasaru.net) (Changing host)
21:03:31 Solarion joins (~solarion@fsf/member/solarion)
21:05:01 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
21:05:12 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds)
21:05:26 DTZUZU joins (~DTZUZO@205.ip-149-56-132.net)
21:12:21 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
21:13:19 grepcake joins (~artyom@77.234.203.49)
21:15:02 waleee-cl joins (uid373333@gateway/web/irccloud.com/x-gdqogcpuvytwnnml)
21:19:27 pavonia joins (~user@unaffiliated/siracusa)
21:21:51 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
21:23:28 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
21:23:40 rj joins (~x@gateway/tor-sasl/rj)
21:23:48 × epicte7us quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 265 seconds)
21:24:17 xaxaxixax joins (4c0eef26@76-14-239-38.or.wavecable.com)
21:24:34 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
21:25:33 × garFF quits (~garff@0x3e2c86d9.mobile.telia.dk) (Read error: Connection reset by peer)
21:26:01 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:26:12 hiroaki joins (~hiroaki@2a02:908:4b18:8c40:f4d0:64dc:32c0:7b34)
21:26:51 NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur)
21:27:05 garFF joins (~garff@0x3e2c86d9.mobile.telia.dk)
21:27:45 <xaxaxixax> does anyone have any tips for working with the GHC-emitted haskell ASTs? I'm writing a plugin that manipulates the AST and it's a massive bother, the data types are completely inconsistent between versions and the docs seem to be broken
21:28:14 <xaxaxixax> I've found https://github.com/nboldi/haskell-tools which I could read through to see how they deal with it, but anyone have any other tips?
21:29:50 × nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
21:31:17 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
21:31:55 renzhi joins (~renzhi@2607:fa49:6500:bc00::e7b)
21:32:10 <deejaytee> I'm aware of http://hackage.haskell.org/package/ghc-lib-parser but I'm not sure if that is what you're looking for
21:32:35 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
21:34:02 chasmonad joins (9d83a8ce@157-131-168-206.fiber.dynamic.sonic.net)
21:35:41 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
21:36:02 <chasmonad> hi all... is there a way to capture `cabal build` output so I can filter out the extraneous version spam? `cabal build 2>&1 | grep -v extraneous` does not work, for example
21:36:42 mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au)
21:36:52 <xaxaxixax> oh nice, that might be able to fix the inconsistent docs issue, thanks! the problem is the AST is handed to me by GHC, so I have to track down the exact docs for the version of GHC I'm using. i think though if I use the haddock build/host thing that should work
21:37:25 <xaxaxixax> the data types themselves are real messes though, the source line tagging and everything makes it a horrible mess to pattern match on
21:37:44 × grepcake quits (~artyom@77.234.203.49) (Quit: Konversation terminated!)
21:37:58 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-oagakatzmderzmkp) (Quit: Connection closed for inactivity)
21:37:59 <xaxaxixax> never used lenses but they're one solution to this sort of issue, right?
21:38:02 × fendor quits (~fendor@178.165.130.48.wireless.dyn.drei.com) (Remote host closed the connection)
21:42:23 <deejaytee> it depends - if all you need is to match on particularly complex data constructors that will always have the same shape, PatternSynonyms may be all you need
21:42:50 × tsaka__ quits (~torstein@178-147-206-209.haap.dm.cosmote.net) (Ping timeout: 246 seconds)
21:43:26 nut joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
21:43:35 <deejaytee> (it's a language extension)
21:43:37 × stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds)
21:44:27 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
21:51:23 × chasmonad quits (9d83a8ce@157-131-168-206.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
21:53:07 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 252 seconds)
21:53:27 chasmonad joins (9d83a8ce@157-131-168-206.fiber.dynamic.sonic.net)
21:53:49 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
21:53:59 <chasmonad> hmmmm ping timeouts sigh
21:55:44 <xaxaxixax> ah pattern synonyms look really nice, im kicking myself for not finding this earlier
21:56:37 <xaxaxixax> incidentally, are extensions implemented in the same way as plugins?
21:56:49 stree joins (~stree@68.36.8.116)
21:57:05 <deejaytee> one of the best and worst things I ever did was read the whole GHC language extension list end to end
21:57:57 tonyc- joins (~tonyc@208.163.180.21)
21:58:16 <ski> dunno what you mean by "plugins"
21:58:43 <deejaytee> re extension implementation, no idea, but I suspect a fair few of them would be difficult to impossible w/ just the GHC API
21:59:07 <deejaytee> if that's what you mean by plugins
21:59:09 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
21:59:30 tonyc- is now known as Xyberista
21:59:39 <xaxaxixax> plugins as in https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/extending_ghc.html#compiler-plugins
22:00:00 × ddellac__ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
22:00:16 × isovector quits (~isovector@172.103.216.166) (Ping timeout: 252 seconds)
22:00:33 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
22:00:53 ddellac__ joins (~ddellacos@86.106.143.137)
22:00:59 × ubert quits (~Thunderbi@p200300ecdf005e54e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
22:01:08 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
22:01:28 × chasmonad quits (9d83a8ce@157-131-168-206.fiber.dynamic.sonic.net) (Quit: Connection closed)
22:01:32 <Cale> xaxaxixax: Pattern synonyms are equal parts nice and horrible. :)
22:01:39 <Cale> They're a cool idea, but the way they interact with the type system is a bit cringey.
22:01:50 <Cale> You end up with weird-looking types with multiple => contexts that can't be combined, because there's a distinction to be made between what needs to be true to use the pattern synonym and what you learn when you use it.
22:02:28 <Cale> -- and even that doesn't really get you the full generality you might want, since there's still one big forall quantifying the variables
22:02:28 <ski> some kind of version of mode declarations, a la Mercury, could be helpful
22:03:11 Xyberista parts (~tonyc@208.163.180.21) ("""")
22:03:17 <Cale> Or maybe there ought to be a type constructor for patterns
22:04:15 nvmd joins (~nvmd@177.30.111.232)
22:04:26 <ski> (or, i suppose one could possibly phrase them as a sort of functional dependency / injectivity constraints, hmm .. although how would one specify which constraints are learned ?)
22:04:29 <Cale> There's this distinction between required and provided stuff when it comes to classes, but not for arguments to the pattern, and I think it makes sense to want that sometimes
22:04:49 <ski> yes, it definitely does
22:05:21 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
22:05:35 <ski> e.g. imagine being able to match on `xs ++ ys', `xs' being an expression, and `ys' a pattern
22:05:43 × `slikts quits (~nelabs@wikipedia/reinis) (Ping timeout: 260 seconds)
22:05:44 <Cale> yeah
22:05:57 × mikoto-chan quits (~mikoto-ch@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
22:06:01 <Cale> Or if you wanted to implement c*n + k patterns :)
22:06:48 ski was sketching some examples, another time, of a syntax in which such expression-parameterized pattern-synonyms could naturally be specified/defined
22:07:28 isovector joins (~isovector@172.103.216.166)
22:08:11 × Guest9827 quits (~textual@zrcout.mskcc.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:08:13 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:08:34 <Iceland_jack> https://gitlab.haskell.org/ghc/ghc/-/wikis/pattern-families
22:08:55 <ski> (hm, also reminds me i should continue thinking about specifying bijections / type equalities directly, since that ties into these syntactical matters about patterns as well ..)
22:09:01 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds)
22:09:25 <Cale> I was thinking it might be nice to have, instead of Req => Prov => t1 -> ... -> tn -> t, have all the "required" stuff occur outside the Pattern type constructor, and provided stuff inside it, like Req => Pattern (Prov => t1 -> ... -> tn -> t)
22:09:46 <ski> oh, i forgot to ask what you mean by "type constructor for patterns"
22:10:07 <ski> Iceland_jack : unfortunately seems to time out atm. hopefully it'll work later ?
22:10:08 <Cale> Yeah, just a sort of wired-in thing
22:10:42 <ski> could you give an example of how it might look, for a concrete example ?
22:11:23 <deejaytee> stopped timing out for me about a minute ago
22:11:53 <geekosaur> it's been having problems all afternoon, just retry until it works
22:13:19 × rond_ quits (531cde7e@bmc126.neoplus.adsl.tpnet.pl) (Quit: Connection closed)
22:14:27 Rudd0 joins (~Rudd0@185.189.115.108)
22:14:55 <Cale> Sure, so we could have something like... pattern Is :: (Eq a) => a -> Pattern a; pattern Is x y = (True <- x == y)
22:14:58 gzj joins (~gzj@unaffiliated/gzj)
22:15:47 <ski> Cale : <https://paste.tomsmeding.com/Qa0bDI6k> was some scribbles (experimenting with several alternative syntaces) on this that i did
22:15:53 <Cale> er... something like that
22:19:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:20:04 × nut quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
22:20:59 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
22:21:30 × gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection)
22:21:50 × jao quits (~jao@pdpc/supporter/professional/jao) (Remote host closed the connection)
22:21:50 gzj joins (~gzj@unaffiliated/gzj)
22:22:00 × renzhi quits (~renzhi@2607:fa49:6500:bc00::e7b) (Ping timeout: 246 seconds)
22:22:29 <ski> Cale : how about `pattern Req => psyn ParamType0 ... :: Prov => BindType0 -> ... -> MatchType', in that case. so `pattern Eq a => Is a :: a; pattern Is x = ((x ==) -> True)' (or with a different style of doing the concrete defining equation, if you prefer) ?
22:23:30 <ski> hmm
22:24:15 <Cale> Oh, yeah, I kind of fucked up my example there, but you got the idea of it :)
22:24:21 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds)
22:24:30 <ski> (yea, `Is x y' didn't make sense to me ..)
22:25:11 <Cale> Yeah, it should have been Is x = (True <- (x ==)) indeed
22:25:28 jao joins (~jao@pdpc/supporter/professional/jao)
22:25:34 <ski> i suppose with `data Foo = Prov => Mk T U', `T' and `U' would be "bind types", not "param types" .. hm. making the analogy less appealing
22:26:43 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
22:27:53 bitmapper joins (uid464869@gateway/web/irccloud.com/x-adzrjzdemregudmd)
22:29:23 <ski> (one could also perhaps imagine wanting the param types to sometimes come after the bind ones. like with `n + k' (rather than `k + n' that i did in the paste above). something like `pattern Integral a,Ord a,k :: a |- n + k :: a -| n :: a', hmm ..)
22:32:56 <ski> as for definitions, i had the notion of `pattern case <pattern application definiendum> of <implementing body pattern (definiens)> -> <list of bindings to make>; ...' (see e.g. `(/\/)' in the paste)
22:35:40 <ski> however, instead of having the pattern definiendum be of the form `psyn param0 ... subpattern0 ...' (where `param0',.. are ordinary patterns that you can match on, like the left parameter of `++'. effectively `[] ++ ys' is a different pattern synonym to `(x:xs) ++ ys', and `xs ++ ys' is a pattern synonym that will dispatch to one of the former, after matching on `xs')
22:36:58 <ski> and where `subpattern0',.. are identifiers referring to the subpatterns that we actually apply the pattern synonym to, where we must mention all those identifiers once, in the definiens / body pattern (the expansion of the pattern synonym)
22:39:11 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
22:39:20 <ski> instead of doing this, we could allow `subpattern0',.. to be arbitrary *expressions* (using variables bound by the definiens / body pattern). then `pattern case psyn param0 ... subpattern0 ... of <body pattern> -> <additional bindings for subpatterns>' reduces to `pattern psyn param0 ... subpattern0 ... = <body pattern>'
22:40:26 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
22:42:04 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
22:42:21 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
22:42:55 <ski> this should explain the alternate definition of view patterns (in terms of this imagined generalized pattern synonyms definition syntax), from `pattern case f -> b of a -> b = a', to `pattern f -> f a = a'. e.g. if you want to match the pattern `last -> x' with a list `xs', this amounts to binding `x' to `last x', since then the pattern is `last -> last xs', which by definition is equal to `xs', which
22:43:01 <ski> trivially matches the `xs' input scrutinee
22:44:54 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:48:46 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 268 seconds)
22:49:34 × xaxaxixax quits (4c0eef26@76-14-239-38.or.wavecable.com) (Quit: Connection closed)
22:49:39 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
22:50:03 × hiroaki quits (~hiroaki@2a02:908:4b18:8c40:f4d0:64dc:32c0:7b34) (Ping timeout: 260 seconds)
22:51:01 <ski> (i guess `f ->' formally looks like it was a post-inverse to `f', like if the pattern was ⌜last⁻¹ x⌝ rather than `last -> x'. but it's not like ⌜last⁻¹⌝ is actually a retraction of ⌜last⌝. if ⌜last⁻¹⌝ would (e.g.) generate a singleton list, it would in fact be a section of ⌜last⌝ (you can imagine that `xs' is a `NonEmpty a' rather than a `[a]', to avoid the unrelated issue of
22:51:07 <ski> `last' being partial). but it rather appears like ⌜last⁻¹⌝ is *copartial*, iow ⌜last⁻¹ x⌝ doesn't stand for any specific list with ⌜x⌝ as last element, but rather ambiguously stands for them all (matches with all of them))
22:51:54 CrazyPython joins (~crazypyth@206.214.238.6)
22:52:10 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
22:53:24 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
22:53:53 × Kneiva_ quits (kneiva@raah.fi) (Ping timeout: 246 seconds)
22:54:00 Kneiva joins (kneiva@raah.fi)
22:54:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
22:56:21 Alleria joins (~textual@2603-7000-3040-0000-c4a1-9300-65ca-16c5.res6.spectrum.com)
22:56:22 × alx741 quits (~alx741@186.178.109.110) (Ping timeout: 252 seconds)
22:56:45 Alleria is now known as Guest88435
22:58:16 <ski> Iceland_jack,deejaytee : works now, ty
22:59:07 × apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 252 seconds)
23:00:46 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 252 seconds)
23:03:52 × ddellac__ quits (~ddellacos@86.106.143.137) (Ping timeout: 240 seconds)
23:08:54 alx741 joins (~alx741@181.196.68.14)
23:12:26 × Kneiva quits (kneiva@raah.fi) (Ping timeout: 240 seconds)
23:12:33 Kneiva joins (kneiva@raah.fi)
23:16:59 × geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed)
23:17:17 × xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:17:21 geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com)
23:20:15 xcmw joins (~textual@2603-6011-2200-f103-e9cf-0f11-7f01-6470.res6.spectrum.com)
23:20:15 × dariof4 quits (~dario@178.249.202.150) (Quit: WeeChat 3.1)
23:21:23 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
23:22:26 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
23:26:34 × Kneiva quits (kneiva@raah.fi) (Ping timeout: 265 seconds)
23:26:40 Kneiva joins (kneiva@raah.fi)
23:30:19 × ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection)
23:31:01 ukari joins (~ukari@unaffiliated/ukari)
23:33:14 × dsrt^ quits (dsrt@ip98-184-89-2.mc.at.cox.net) ()
23:34:01 × nerdypepper quits (znc@152.67.162.71) (Ping timeout: 260 seconds)
23:34:18 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
23:37:01 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
23:38:27 × garFF quits (~garff@0x3e2c86d9.mobile.telia.dk) (Read error: Connection reset by peer)
23:38:38 × corvusdev quits (~corvusdev@50.212.103.45) (Ping timeout: 260 seconds)
23:40:36 × rj quits (~x@gateway/tor-sasl/rj) (Quit: rj)
23:41:37 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
23:45:11 × xcmw quits (~textual@2603-6011-2200-f103-e9cf-0f11-7f01-6470.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:49:21 × deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 260 seconds)
23:50:17 nerdypepper joins (znc@152.67.162.71)
23:52:29 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
23:54:09 EvilMagix joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
23:55:20 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:56:26 × DavidEichmann quits (~david@156.59.147.147.dyn.plus.net) (Ping timeout: 240 seconds)
23:56:33 × elliott_ quits (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
23:56:50 × sm2n quits (~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-176.dsl.bell.ca) (Ping timeout: 252 seconds)
23:57:23 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
23:58:21 xcmw joins (~textual@2603-6011-2200-f103-e9cf-0f11-7f01-6470.res6.spectrum.com)

All times are in UTC on 2021-05-12.