Logs: liberachat/#haskell
| 2021-05-25 13:19:35 | × | drewr quits (~drew@2601:483:4100:4112:d91:d97:abf8:56ec) (Remote host closed the connection) |
| 2021-05-25 13:19:58 | × | lbseale__ quits (~lbseale@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 264 seconds) |
| 2021-05-25 13:19:59 | → | drewr joins (~drew@c-67-187-92-139.hsd1.tn.comcast.net) |
| 2021-05-25 13:20:22 | → | m_shiraeeshi joins (~shiraeesh@46.34.207.100) |
| 2021-05-25 13:20:35 | ← | samebchase1 parts (~samebchas@51.15.68.182) (The Lounge - https://thelounge.chat) |
| 2021-05-25 13:21:29 | ← | toms parts (~foobar@pogostick.net) () |
| 2021-05-25 13:21:41 | → | reda joins (~reda@user/reda) |
| 2021-05-25 13:21:41 | → | lbseale__ joins (~lbseale@ip72-194-54-201.sb.sd.cox.net) |
| 2021-05-25 13:24:46 | × | lbseale_ quits (~lbseale@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 264 seconds) |
| 2021-05-25 13:24:50 | → | samebchase joins (~samebchas@51.15.68.182) |
| 2021-05-25 13:26:30 | dmwit_ | is now known as dmwit |
| 2021-05-25 13:27:09 | → | ksqsf joins (~textual@67.209.186.120.16clouds.com) |
| 2021-05-25 13:28:27 | × | nan` quits (~nan`@rrcs-70-60-83-42.central.biz.rr.com) (Ping timeout: 264 seconds) |
| 2021-05-25 13:29:31 | × | drewr quits (~drew@c-67-187-92-139.hsd1.tn.comcast.net) (Quit: ERC (IRC client for Emacs 27.1)) |
| 2021-05-25 13:31:45 | → | m7340 joins (~m7340@71.34.249.43) |
| 2021-05-25 13:32:58 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c032:b754:d42c:78b5) |
| 2021-05-25 13:33:51 | × | m7340 quits (~m7340@71.34.249.43) (Remote host closed the connection) |
| 2021-05-25 13:34:27 | → | nan` joins (~nan`@rrcs-70-60-83-42.central.biz.rr.com) |
| 2021-05-25 13:34:49 | → | argento joins (~argent0@168.227.96.51) |
| 2021-05-25 13:35:39 | → | xkapastel joins (uid17782@id-17782.tinside.irccloud.com) |
| 2021-05-25 13:36:13 | <boxscape> | merijn yeah that's fair |
| 2021-05-25 13:36:44 | → | brandonh joins (~brandonh@mi-18-24-205.service.infuturo.it) |
| 2021-05-25 13:37:58 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c032:b754:d42c:78b5) (Ping timeout: 264 seconds) |
| 2021-05-25 13:38:03 | × | sondre quits (~sondrelun@eduroam-193-157-179-99.wlan.uio.no) (Ping timeout: 272 seconds) |
| 2021-05-25 13:39:10 | <boxscape> | although then again with the couple tests I did just know error messages don't seem to change but there could well be more complex examples where they do |
| 2021-05-25 13:41:00 | → | omen_ joins (~omen@user/omen) |
| 2021-05-25 13:41:17 | × | nan` quits (~nan`@rrcs-70-60-83-42.central.biz.rr.com) (Ping timeout: 265 seconds) |
| 2021-05-25 13:42:17 | → | sondre joins (~sondrelun@eduroam-193-157-179-99.wlan.uio.no) |
| 2021-05-25 13:42:17 | × | omen quits (~omen@user/omen) (Read error: Connection reset by peer) |
| 2021-05-25 13:42:46 | × | trent quits (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 264 seconds) |
| 2021-05-25 13:42:57 | <edmundnoble> | I think the only error you can expect is actually that there is no MonadFail instance for `Either e` |
| 2021-05-25 13:43:34 | <boxscape> | yeah that's what I've been getting |
| 2021-05-25 13:43:43 | <boxscape> | s/know/now |
| 2021-05-25 13:43:44 | <edmundnoble> | However, you also cannot expect that `e` will be inferred to be `String` just because you used `fail` in the do-block |
| 2021-05-25 13:43:56 | <edmundnoble> | That may be practically annoying |
| 2021-05-25 13:44:18 | → | nan` joins (~nan`@rrcs-70-60-83-42.central.biz.rr.com) |
| 2021-05-25 13:44:53 | → | zan joins (~zan@193.32.127.216) |
| 2021-05-25 13:45:08 | <edmundnoble> | To change both of those things, you could write it as `instance (e ~ String) => MonadFail (Either e)`, which would disallow writing `MonadFail (Either e)` for any other types `e`. I think that's probably worse because some people likely have such instances |
| 2021-05-25 13:45:20 | <boxscape> | yeah |
| 2021-05-25 13:49:41 | × | tonyz quits (~tonyz@2a02:587:2805:3d8f:420f:42e1:ccdd:150f) (Quit: tonyz) |
| 2021-05-25 13:50:00 | → | qbt joins (~edun@user/edun) |
| 2021-05-25 13:52:22 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
| 2021-05-25 13:53:57 | → | slice joins (~slice@user/slice) |
| 2021-05-25 13:56:54 | ← | zan parts (~zan@193.32.127.216) (Leaving) |
| 2021-05-25 14:08:42 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c032:b754:d42c:78b5) |
| 2021-05-25 14:09:55 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Ping timeout: 272 seconds) |
| 2021-05-25 14:09:55 | → | ddellaco_ joins (~ddellacos@86.106.121.100) |
| 2021-05-25 14:11:19 | × | ddellacosta quits (~ddellacos@89.46.62.33) (Ping timeout: 244 seconds) |
| 2021-05-25 14:12:08 | × | hueso quits (~root@152.170.216.40) (Read error: Connection reset by peer) |
| 2021-05-25 14:13:12 | → | ddellacosta joins (~ddellacos@86.106.121.91) |
| 2021-05-25 14:13:24 | → | hueso joins (~root@152.170.216.40) |
| 2021-05-25 14:13:30 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c032:b754:d42c:78b5) (Ping timeout: 264 seconds) |
| 2021-05-25 14:15:55 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2021-05-25 14:16:43 | → | azeem joins (~azeem@dynamic-adsl-84-220-228-254.clienti.tiscali.it) |
| 2021-05-25 14:16:58 | × | ddellaco_ quits (~ddellacos@86.106.121.100) (Ping timeout: 264 seconds) |
| 2021-05-25 14:18:12 | × | azeem quits (~azeem@dynamic-adsl-84-220-228-254.clienti.tiscali.it) (Client Quit) |
| 2021-05-25 14:20:09 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-05-25 14:23:52 | → | MidAutumnMoon joins (~MidAutumn@user/midautumnmoon) |
| 2021-05-25 14:24:28 | × | Lord_of_Life_ quits (~Lord@46.217.219.90) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 2021-05-25 14:24:44 | → | kewa joins (~kewa@5.138.211.57) |
| 2021-05-25 14:25:26 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 2021-05-25 14:26:42 | × | tsandstr quits (~tsandstr@cpe-98-5-88-45.buffalo.res.rr.com) (Ping timeout: 264 seconds) |
| 2021-05-25 14:28:48 | → | Gurkenglas_ joins (~Gurkengla@dslb-088-075-022-175.088.075.pools.vodafone-ip.de) |
| 2021-05-25 14:29:53 | <tdammers> | IMO not having a MonadFail instance for Either is by far the nicer solution |
| 2021-05-25 14:30:16 | <tdammers> | if you really feel the need to have one for Either String, then chances are you should newtype that anyway to give it more semantic oomph |
| 2021-05-25 14:30:29 | <dminuoso> | Woah. Spend nearly an hour debugging mysterious type mismatching errors for a distant missing Generic instance. |
| 2021-05-25 14:30:36 | <tdammers> | and if you're going to do that anyway, might as well spell out the 2-line instance |
| 2021-05-25 14:30:37 | dminuoso | sighs |
| 2021-05-25 14:31:56 | × | omen_ quits (~omen@user/omen) (Remote host closed the connection) |
| 2021-05-25 14:32:21 | → | omen_ joins (~omen@user/omen) |
| 2021-05-25 14:34:38 | <dminuoso> | How can GHC come up with a mismatching type error if a Generic instance is missing? |
| 2021-05-25 14:35:12 | <dminuoso> | Is there an obvious way to provoke this? Asking because Im quite baffled |
| 2021-05-25 14:39:32 | → | manicennui joins (uid349235@id-349235.tinside.irccloud.com) |
| 2021-05-25 14:41:06 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-05-25 14:41:48 | → | atwm joins (~andrew@19-193-28-81.ftth.cust.kwaoo.net) |
| 2021-05-25 14:47:38 | → | Deide joins (~Deide@wire.desu.ga) |
| 2021-05-25 14:47:38 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
| 2021-05-25 14:47:38 | → | Deide joins (~Deide@user/deide) |
| 2021-05-25 14:48:03 | → | ddellaco_ joins (~ddellacos@89.46.62.22) |
| 2021-05-25 14:49:50 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 2021-05-25 14:50:42 | × | ddellacosta quits (~ddellacos@86.106.121.91) (Ping timeout: 264 seconds) |
| 2021-05-25 14:51:10 | × | xwx quits (~george@user/george) (Ping timeout: 264 seconds) |
| 2021-05-25 14:51:23 | × | ksqsf quits (~textual@67.209.186.120.16clouds.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-05-25 14:53:13 | ← | petrus_ parts (~petrus@catv-86-101-33-147.catv.broadband.hu) (WeeChat 3.1) |
| 2021-05-25 14:53:30 | → | xwx joins (~george@user/george) |
| 2021-05-25 14:53:56 | <lyxia> | it can happen because of an equality with a stuck application of the Rep type family |
| 2021-05-25 14:54:00 | → | horex539 joins (~horex539@2a02:a03f:6aa5:a00:3c1a:90fc:fb6d:766e) |
| 2021-05-25 14:57:46 | × | samhh quits (~samhh@90.252.103.244) (Ping timeout: 264 seconds) |
| 2021-05-25 15:03:14 | → | WikiLycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-05-25 15:04:36 | <raehik> | I've come across some code where `pure` is used in a do block, in a StateT IO monad. Is there any difference between pure and return in cases like this? |
| 2021-05-25 15:04:45 | <boxscape> | no |
| 2021-05-25 15:05:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 2021-05-25 15:05:05 | <boxscape> | I think even with -XApplicativeDo, return and pure are the same |
| 2021-05-25 15:05:14 | <boxscape> | in that context |
| 2021-05-25 15:05:52 | <raehik> | my experience agrees but I was wondering how Applicative gets "upgraded" to Monad |
| 2021-05-25 15:06:29 | <boxscape> | for common types, pure == return and <*> == ap |
| 2021-05-25 15:07:27 | <boxscape> | raehik is the "upgraded" question about how they are related or how the types work out, since you have a Monad constraint but are using Applicative methods? |
| 2021-05-25 15:07:39 | <boxscape> | s/related/related in terms of semantics |
| 2021-05-25 15:08:01 | <raehik> | ah! maybe I was misunderstanding the context |
| 2021-05-25 15:08:19 | <raehik> | I was thinking "using pure makes it an Applicative, but it ends in a Monad" |
All times are in UTC.