Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-03-01 17:49:41 <dolio> Hahaha. Okay.
2021-03-01 17:50:01 nhs_ joins (~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-01 17:50:31 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:154f:4e40:6da2:bc2f)
2021-03-01 17:50:31 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-03-01 17:50:57 × emmanuel_erc quits (~user@rrcs-23-246-116-5.nys.biz.rr.com) (Ping timeout: 264 seconds)
2021-03-01 17:50:58 <boxscape> oh no wait, it's arbitrary if *all* candidates are incoherent, otherwise it picks the non-incoherent one
2021-03-01 17:51:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 17:51:19 <dolio> Oh, I guess that makes sense.
2021-03-01 17:51:31 <dolio> If all but one are incoherent, you pick the 'coherent' one.
2021-03-01 17:51:36 <boxscape> right
2021-03-01 17:51:36 × nhs quits (~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 240 seconds)
2021-03-01 17:51:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 17:53:17 geekosaur joins (82650c7a@130.101.12.122)
2021-03-01 17:54:08 <Dysfunctional> I don't understand Haskell's type system when it comes to type classes. I just imagine there's some kind of compiler machinery that choses an instance and then... what does it mean if a type class is incoherent?
2021-03-01 17:56:11 <sclv> incoherent is virtually never what you want
2021-03-01 17:56:20 <Dysfunctional> I mean, overlapping is like: Make a choice, where the priority is: overlappable < overlaps < overlapping (has the highest priority). Incoherent? "Use me as a last resort?"
2021-03-01 17:56:22 <sclv> it means what the discussion above said -- just give up
2021-03-01 17:56:34 <sclv> i've never found a case where i wanted it
2021-03-01 17:56:35 <dolio> Incoherent means that arbitrary decisions are made, rather than there being a canonical choice.
2021-03-01 17:56:50 <Dysfunctional> sounds fun
2021-03-01 17:56:51 <sclv> i guess it _only_ makes sense if the different instances all "mean" the same thing
2021-03-01 17:57:04 <dolio> In this example, neither `Maybe a` nor `f Bool` are more specific than one another, so it just picks one.
2021-03-01 17:57:07 <sclv> i.e. no matter which instance you pick, the code is equivalent
2021-03-01 17:57:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-01 17:57:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 17:57:59 <sclv> the better way to try to disambiguate something like the above is fundeps
2021-03-01 17:58:04 <sclv> or closed type families
2021-03-01 17:58:11 Pickchea joins (~private@unaffiliated/pickchea)
2021-03-01 17:58:19 <Dysfunctional> ok, thanks, tbh never undestood fundeps too
2021-03-01 17:58:27 <dolio> Also the explanation of overlapping above is missing things.
2021-03-01 17:59:06 apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-01 17:59:12 <dolio> An 'overlapping' instance isn't deemed preferable to an 'overlappable' instance just because they can unify.
2021-03-01 17:59:38 bitmagie joins (~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de)
2021-03-01 18:00:29 rj joins (~x@gateway/tor-sasl/rj)
2021-03-01 18:00:35 <dolio> Overlappable means that more specific instances don't need to specificaly say 'overlapping'. And 'overlapping' means that it can override a less specific instance that is not declared 'overlappable'. Or something like that.
2021-03-01 18:00:49 × vchlup_ quits (~vchlup@nat.brnet.cz) (Ping timeout: 260 seconds)
2021-03-01 18:00:49 <dolio> The specificity of the instance heads still matter.
2021-03-01 18:02:22 × kritzefitz quits (~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2021-03-01 18:02:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 18:02:50 <Dysfunctional> Ok, thanks. 'Overlaps' is overlap without considertion for the instance head?
2021-03-01 18:03:10 × juri_ quits (~juri@178.63.35.222) (Ping timeout: 276 seconds)
2021-03-01 18:03:33 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:03:34 <dolio> I don't remember the difference between 'overlaps' and 'overlapping', because I barely ever use this stuff.
2021-03-01 18:03:54 juri_ joins (~juri@79.140.120.239)
2021-03-01 18:03:54 × juri_ quits (~juri@79.140.120.239) (Read error: Connection reset by peer)
2021-03-01 18:04:04 × heatsink quits (~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 18:04:09 vchlup_ joins (~vchlup@nat.brnet.cz)
2021-03-01 18:04:21 <dolio> The only thing that's going to ignore the actual specialization order of the instance is 'incoherent' I think.
2021-03-01 18:04:46 <aarvar> I think overlaps = overlappable + overlapping, or something like that
2021-03-01 18:05:15 × mananamenos quits (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 240 seconds)
2021-03-01 18:06:35 × xff0x quits (~xff0x@2001:1a81:5383:2100:48ad:dc4f:6fad:3ff7) (Ping timeout: 240 seconds)
2021-03-01 18:07:05 <Dysfunctional> so for example for a datatype with kind two and a type class that specializes one of the type arguments
2021-03-01 18:07:47 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-01 18:07:53 xff0x joins (~xff0x@2001:1a81:5383:2100:76a2:26e:424a:1092)
2021-03-01 18:08:37 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 18:08:47 geekosaur joins (82650c7a@130.101.12.122)
2021-03-01 18:08:55 juri_ joins (~juri@178.63.35.222)
2021-03-01 18:08:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-01 18:09:03 × chisui quits (577bc9b7@i577BC9B7.versanet.de) (Quit: Connection closed)
2021-03-01 18:09:05 × banyanRob quits (268ce492@38.140.228.146) (Quit: Connection closed)
2021-03-01 18:09:07 vk3wtf_ joins (~doc@115-64-102-158.tpgi.com.au)
2021-03-01 18:09:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:09:56 nbloomf joins (~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428)
2021-03-01 18:11:56 × vk3wtf quits (~doc@203.221.224.44) (Ping timeout: 240 seconds)
2021-03-01 18:12:53 jamm_ joins (~jamm@unaffiliated/jamm)
2021-03-01 18:13:09 × bitmagie quits (~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de) (Quit: bitmagie)
2021-03-01 18:13:27 bitmagie joins (~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de)
2021-03-01 18:13:51 <perrier-jouet> hi all
2021-03-01 18:14:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-01 18:14:29 <perrier-jouet> my /root/.stack folder is it save to delete it ? I am using archlinux
2021-03-01 18:14:46 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-01 18:14:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:15:02 mananamenos joins (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net)
2021-03-01 18:15:05 <geekosaur> why have you been running stack as root
2021-03-01 18:15:58 × bitmagie quits (~Thunderbi@200116b8061b980088bf1ce130705d54.dip.versatel-1u1.de) (Client Quit)
2021-03-01 18:16:13 <monochrom> If you vow to never run stack as root again, you can delete it.
2021-03-01 18:16:21 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-03-01 18:17:07 <monochrom> stack is fundamentally a per-user program, "sudo stack" does not mean /usr/local. Whoever runs stack, it always means $HOME.
2021-03-01 18:17:07 <perrier-jouet> geekosaur: monochrom sometime installing packages it says you don't have permission so when I do su I guess that's when it created the /root/.stack
2021-03-01 18:18:10 <geekosaur> my guess is ypou ran stack as root once and now there are root-owned files in your own .stack and/or .stack-work
2021-03-01 18:19:13 <geekosaur> so you'll also need to fix that with sudo chown -R $USER ~/.stack ~/.stack-work
2021-03-01 18:19:14 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2021-03-01 18:19:24 <geekosaur> and then don't run stack as root any more
2021-03-01 18:19:32 × DTZUZU quits (~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-03-01 18:19:46 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:4c96:674d:b3c3:8428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 18:20:04 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-03-01 18:20:35 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-01 18:20:47 <geekosaur> just pulling out sudo any time you have a permission problem is a lovely way to destroy your OS install
2021-03-01 18:21:42 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-01 18:21:45 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-01 18:22:20 son0p joins (~son0p@181.136.122.143)
2021-03-01 18:25:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-01 18:25:55 × jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-01 18:26:02 rj joins (~x@gateway/tor-sasl/rj)
2021-03-01 18:26:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 18:28:31 <Dysfunctional> what's your opinion on nix?
2021-03-01 18:28:49 <boxscape> Dysfunctional dolio OVERLAPS marks an instance as both overlappable and overlapping
2021-03-01 18:29:18 tweek joins (~tweek@2603-6010-b207-6d3b-058f-45fa-65e0-88fa.res6.spectrum.com)
2021-03-01 18:29:29 <boxscape> oh aarvar said as much
2021-03-01 18:29:33 Tops2 joins (~Tobias@dyndsl-095-033-090-074.ewe-ip-backbone.de)

All times are in UTC.