Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-05-12 08:43:45 xff0x joins (~xff0x@2001:1a81:523e:f300:f7bd:d435:471d:3982)
2021-05-12 08:44:55 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
2021-05-12 08:52:15 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
2021-05-12 08:52:15 plutoniix joins (~q@184.82.203.254)
2021-05-12 08:53:11 × byorgey quits (~byorgey@155.138.238.211) (Ping timeout: 268 seconds)
2021-05-12 08:53:11 × dave_uy quits (~david@108.61.193.26) (Ping timeout: 246 seconds)
2021-05-12 08:53:16 × bcmiller quits (~bm3719@66.42.95.185) (Ping timeout: 245 seconds)
2021-05-12 08:54:16 chris__ joins (~chris@81.96.113.213)
2021-05-12 09:02:41 × zariuq quits (~zar@fw1.ciirc.cvut.cz) (Read error: Connection reset by peer)
2021-05-12 09:02:53 zariuq joins (~zar@fw1.ciirc.cvut.cz)
2021-05-12 09:03:53 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-05-12 09:08:03 × datajerk quits (~datajerk@sense.net) (Ping timeout: 252 seconds)
2021-05-12 09:08:35 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-05-12 09:09:34 × chris__ quits (~chris@81.96.113.213) (Remote host closed the connection)
2021-05-12 09:09:55 byorgey joins (~byorgey@155.138.238.211)
2021-05-12 09:10:01 dave_uy joins (~david@108.61.193.26)
2021-05-12 09:10:02 bcmiller joins (~bm3719@66.42.95.185)
2021-05-12 09:11:17 CrazyPython joins (~crazypyth@206.214.238.6)
2021-05-12 09:11:24 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-05-12 09:12:52 datajerk joins (~datajerk@sense.net)
2021-05-12 09:15:35 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2021-05-12 09:19:50 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-05-12 09:20:00 <kuribas> why is "try" in a parser considered evil?
2021-05-12 09:20:23 × abrar quits (~abrar@static-108-30-103-121.nycmny.fios.verizon.net) (Quit: WeeChat 2.9)
2021-05-12 09:21:17 <maerwald> excessive backtracking?
2021-05-12 09:21:53 <maerwald> can't think of another reason
2021-05-12 09:22:15 abrar joins (~abrar@static-108-30-103-121.nycmny.fios.verizon.net)
2021-05-12 09:23:05 <kuribas> it was about laws not being respected or something...
2021-05-12 09:23:55 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-05-12 09:25:01 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-05-12 09:25:03 rond_ joins (531cde7e@bmc126.neoplus.adsl.tpnet.pl)
2021-05-12 09:25:45 <merijn> kuribas: Why said it's evil?
2021-05-12 09:26:04 <kuribas> I remember reading it in an article, I don't have the article though...
2021-05-12 09:31:26 <maerwald> kuribas: http://blog.ezyang.com/2014/05/parsec-try-a-or-b-considered-harmful/
2021-05-12 09:31:29 <maerwald> ?
2021-05-12 09:31:46 <kuribas> maerwald: yeah
2021-05-12 09:31:47 <maerwald> but that's not about laws either
2021-05-12 09:32:16 × gitgood quits (~gitgood@host-78-145-139-64.as13285.net) (Remote host closed the connection)
2021-05-12 09:33:45 <kuribas> maerwald: I read that somewhere else then
2021-05-12 09:34:00 <maerwald> go find it :p
2021-05-12 09:35:01 <nshepperd2> https://rpeszek.github.io/posts/2021-02-13-alternative.html this one?
2021-05-12 09:35:22 <kuribas> yeah, that one also.
2021-05-12 09:35:28 <kuribas> Although I don't agree with that article.
2021-05-12 09:37:08 <nshepperd2> having try, instead of always backtracking, means things violate the '(f >> mzero) = mzero' law of monadplus
2021-05-12 09:37:45 <nshepperd2> but i think that law is just wrong
2021-05-12 09:37:47 <kuribas> you mean (f >> mzero) == f ?
2021-05-12 09:37:58 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-05-12 09:38:19 <kuribas> that's a weird law...
2021-05-12 09:38:39 Synthetica joins (uid199651@gateway/web/irccloud.com/x-yluktxymatxbguna)
2021-05-12 09:39:01 <nshepperd2> very weird
2021-05-12 09:39:07 <nshepperd2> https://hackage.haskell.org/package/base-4.6.0.1/docs/Control-Monad.html#t:MonadPlus
2021-05-12 09:39:37 <nshepperd2> a bunch of the instances in base violate it too, so i think it's just a mistake
2021-05-12 09:40:34 <kuribas> it only makes sense when f doesn't do any side-effect
2021-05-12 09:42:42 <maerwald> why?
2021-05-12 09:42:46 × DarkiJah quits (~Android@213.237.86.22) (Ping timeout: 240 seconds)
2021-05-12 09:43:09 <kuribas> maerwald: because mzero didn't do any side-effect, and f did.
2021-05-12 09:43:09 <nshepperd2> launchMissiles >> mzero
2021-05-12 09:43:15 ddellacosta joins (~ddellacos@86.106.143.46)
2021-05-12 09:43:33 <maerwald> ah, you mean `v >> mzero = mzero`
2021-05-12 09:43:57 <nshepperd2> yes, that one
2021-05-12 09:44:17 heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-05-12 09:44:48 <maerwald> so IO already violates it?
2021-05-12 09:46:45 <maerwald> hmm, the question is also... are the laws defined for evaluation only?
2021-05-12 09:46:52 <Taneb> Does IO have a MonadPlus instance?
2021-05-12 09:47:21 <maerwald> yes
2021-05-12 09:47:22 <merijn> It does, I think
2021-05-12 09:47:42 <maerwald> but, I guess... if you ignore program execution semantics, the laws kinda hold
2021-05-12 09:48:04 × ddellacosta quits (~ddellacos@86.106.143.46) (Ping timeout: 268 seconds)
2021-05-12 09:48:23 <merijn> the law is less general than it's written out
2021-05-12 09:48:44 <merijn> it basically just means "all aborts are the same"
2021-05-12 09:49:00 <merijn> It doesn't mean "abort retroactively invalidates things that happened"
2021-05-12 09:49:11 <nshepperd2> in other words it's wrong
2021-05-12 09:49:15 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-05-12 09:49:22 <merijn> Define wrong
2021-05-12 09:49:37 <maerwald> merijn: well, mzero has no parameters, so it is always the same
2021-05-12 09:49:49 <merijn> "it's using a different equality than the one you're thinking off"
2021-05-12 09:50:07 <merijn> Because people are sloppy and use tons of different equalities implicitly
2021-05-12 09:50:30 <nshepperd2> it's useless if you can't apply it because it uses some mysterious undefined equality
2021-05-12 09:51:32 <merijn> Those aren't even listed as laws, though
2021-05-12 09:51:52 <maerwald> "satisfy the equations"
2021-05-12 09:51:57 <Taneb> "It should also satisfy the equations" makes it sound like they're intended as laws to me
2021-05-12 09:52:00 <merijn> It's just saying MonadPlus shouldn't allow >> and >>= to recover
2021-05-12 09:52:11 <nshepperd2> it's not saying that
2021-05-12 09:52:14 <maerwald> Uniaika: I think we have a documentation task here
2021-05-12 09:52:30 <nshepperd2> there's a bug filed https://gitlab.haskell.org/ghc/ghc/-/issues/14960
2021-05-12 09:52:46 <Taneb> The Monad laws are described with the same language
2021-05-12 09:52:59 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-05-12 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
2021-05-12 09:53:28 <maerwald> right
2021-05-12 09:53:53 <merijn> It doesn't, though
2021-05-12 09:55:00 <Uniaika> hello.
2021-05-12 09:55:20 <maerwald> merijn: be a little more constructive :P ...what should we do?
2021-05-12 09:55:31 <Uniaika> that's easy
2021-05-12 09:55:36 <Uniaika> you open a ticket
2021-05-12 09:55:38 <Uniaika> you assign it to me
2021-05-12 09:55:52 <Uniaika> ideally with how things should be documented but I can do without
2021-05-12 09:56:02 <Uniaika> and you let the Documentation Task Force do its magic
2021-05-12 09:56:08 <Uniaika> good bye
2021-05-12 09:57:10 <kuribas> could we have "recommended laws"?
2021-05-12 09:57:20 <kuribas> Not really laws, but nice to have?

All times are in UTC.