2024/10/26

Newest at the top

2024-10-26 13:23:10 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2024-10-26 13:22:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 13:18:56 +0200scaniatrucker(~user@78.56.98.5) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
2024-10-26 13:13:27 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 13:08:40 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 13:02:15 +0200caconym(~caconym@user/caconym) caconym
2024-10-26 13:01:48 +0200scaniatrucker(~user@78.56.98.5) scaniatrucker
2024-10-26 13:00:04 +0200caconym(~caconym@user/caconym) (Quit: bye)
2024-10-26 12:57:57 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-26 12:53:17 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 12:40:56 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-26 12:39:20 +0200 <tomsmeding> e.g. overlapping instances for your own classes are probably fine
2024-10-26 12:39:09 +0200 <tomsmeding> if you're writing a library, then orphan instances are a bad idea in general; overlapping instances can be fine if you carefully ensure that consumers won't get inconvenienced by them
2024-10-26 12:38:33 +0200 <tomsmeding> writing orphan instances and overlapping instances like that is fine if you're writing an application, and you are the one to deal with the consequences if things turn out to be awkward
2024-10-26 12:36:26 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 12:27:06 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2024-10-26 12:25:23 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-26 12:22:00 +0200mantraofpie(~mantraofp@user/mantraofpie) mantraofpie
2024-10-26 12:21:39 +0200mantraofpie(~mantraofp@user/mantraofpie) (Remote host closed the connection)
2024-10-26 12:21:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 12:15:56 +0200sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-10-26 12:13:02 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-26 12:09:09 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 246 seconds)
2024-10-26 12:06:10 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 12:02:02 +0200 <haskellbridge> <tux314159> alright then I will hold my temptation :p
2024-10-26 11:55:29 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-26 11:54:41 +0200acidjnk_new(~acidjnk@p200300d6e72cfb93b5372362da7684c9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2024-10-26 11:50:48 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 11:40:24 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-10-26 11:36:09 +0200 <Leary> But it's better not to tangle with overlapping instances without a good reason.
2024-10-26 11:35:30 +0200 <Leary> Well, I guess you could get away with that.
2024-10-26 11:35:25 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-26 11:35:08 +0200 <Leary> Oh, wait, no.
2024-10-26 11:34:41 +0200 <Leary> More specific than what? I thought the issue was that there /was/ no `instance MonadFail (ExceptT _ _)`. You should only have gotten an orphan instance warning.
2024-10-26 11:30:52 +0200Square(~Square@user/square) (Ping timeout: 252 seconds)
2024-10-26 11:30:42 +0200 <haskellbridge> <tux314159> hooray it works :D question though, would overlappinginstances have been acceptable in that case? since ExceptT String m a is more specific that ExceptT e m a
2024-10-26 11:27:54 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-10-26 11:27:08 +0200ash3en1ash3en
2024-10-26 11:25:40 +0200 <Leary> Not really. Just pull through whatever ExceptT has that you need.
2024-10-26 11:24:42 +0200ash3en1(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-26 11:24:34 +0200ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 248 seconds)
2024-10-26 11:24:33 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-26 11:24:31 +0200 <haskellbridge> <tux314159> okay, thanks. but then this kind of runs into the dreaded n^2 instances issue with mtl doesn't it, I have to add every constraint I want to into the deriving
2024-10-26 11:21:44 +0200tomsmedingis afk for a while
2024-10-26 11:20:58 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-26 11:20:44 +0200 <tomsmeding> so yes, the same after peeling off newtype constructors
2024-10-26 11:20:34 +0200 <tomsmeding> it works when your newtype is _coercible_ (as in `Data.Coerce`) to the thing you put after `via`
2024-10-26 11:20:09 +0200 <haskellbridge> <tux314159> I see, this thing works when the instances are equivalent when you peel back the newtype cosntructor?
2024-10-26 11:20:09 +0200 <Leary> via ExceptT e m
2024-10-26 11:20:04 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn