Logs: freenode/#haskell
| 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.