Newest at the top
2025-03-18 11:47:55 +0100 | kh0d | (~kh0d@109.111.226.14) |
2025-03-18 11:47:11 +0100 | ljdarj1 | ljdarj |
2025-03-18 11:47:11 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
2025-03-18 11:44:02 +0100 | ash3en | (~Thunderbi@149.222.132.64) (Read error: Connection reset by peer) |
2025-03-18 11:44:02 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2025-03-18 11:42:36 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-03-18 11:42:16 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
2025-03-18 11:40:24 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3507-7a57-f54b-3cee-8f5a-99cb.rev.sfr.net) alexherbo2 |
2025-03-18 11:38:31 +0100 | euleritian | (~euleritia@ip5f5ad695.dynamic.kabel-deutschland.de) |
2025-03-18 11:32:54 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 268 seconds) |
2025-03-18 11:32:17 +0100 | kh0d | (~kh0d@109.111.226.14) (Remote host closed the connection) |
2025-03-18 11:32:11 +0100 | kh0d | (~kh0d@109.111.226.14) kh0d |
2025-03-18 11:31:44 +0100 | kh0d | (~kh0d@109.111.226.14) (Remote host closed the connection) |
2025-03-18 11:31:00 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 276 seconds) |
2025-03-18 11:28:54 +0100 | alp | (~alp@2001:861:8ca0:4940:ee1f:fdc:72ba:d779) |
2025-03-18 11:26:19 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-18 11:25:01 +0100 | Leary | (~Leary@user/Leary/x-0910699) Leary |
2025-03-18 11:20:36 +0100 | <dminuoso> | I mean given what Im doing this is more a theoretical discussion |
2025-03-18 11:20:15 +0100 | <dminuoso> | That would be sufficient for my usecase actually |
2025-03-18 11:19:46 +0100 | rvalue | (~rvalue@user/rvalue) rvalue |
2025-03-18 11:14:24 +0100 | Googulator68 | (~Googulato@2a01-036d-0106-0ae4-b88c-ff83-9891-e272.pool6.digikabel.hu) |
2025-03-18 11:14:04 +0100 | Googulator68 | (~Googulato@2a01-036d-0106-0ae4-b88c-ff83-9891-e272.pool6.digikabel.hu) (Quit: Client closed) |
2025-03-18 11:08:17 +0100 | Leary | (~Leary@user/Leary/x-0910699) (Ping timeout: 248 seconds) |
2025-03-18 11:04:15 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:4780:d0f0:79b4:9ac) ubert |
2025-03-18 11:01:13 +0100 | <c_wraith> | So... Who knows if it's sufficient |
2025-03-18 11:01:02 +0100 | <c_wraith> | But if you do that, you lose the ErrorAnnotation instance |
2025-03-18 11:00:39 +0100 | <c_wraith> | You could use Typeable to see if the type matches the top level type constructor, ignoring the argument. |
2025-03-18 10:58:53 +0100 | <c_wraith> | I guess the Exception class is a little more sophisticated. You just need to be able to write a SomeException -> e function |
2025-03-18 10:45:44 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 260 seconds) |
2025-03-18 10:45:36 +0100 | poscat | (~poscat@user/poscat) poscat |
2025-03-18 10:45:21 +0100 | poscat | (~poscat@user/poscat) (Quit: Bye) |
2025-03-18 10:45:18 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2025-03-18 10:44:48 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2025-03-18 10:44:28 +0100 | <dminuoso> | Mmm fair enough. Thanks |
2025-03-18 10:43:29 +0100 | <c_wraith> | If it intended for you to match against all of them uniformly... yes |
2025-03-18 10:42:45 +0100 | <dminuoso> | So I guess the library is at fault for not hiding this constraint inside a GADT? |
2025-03-18 10:42:40 +0100 | <c_wraith> | You could use some TH hackery to make it build you a list of all instances (that are currently in scope) automatically, though |
2025-03-18 10:41:15 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-03-18 10:41:12 +0100 | Inst | (~Inst@user/Inst) (Remote host closed the connection) |
2025-03-18 10:40:23 +0100 | <c_wraith> | Not really. It's all built on top of Typeable, and Typeable checks for equality between two concrete types |
2025-03-18 10:39:31 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
2025-03-18 10:37:30 +0100 | <dminuoso> | Is there a way to accomplish this, without using catches and enumerating a handler for each ErrorAnnotation instance? |
2025-03-18 10:36:21 +0100 | fp1 | (~Thunderbi@wireless-86-50-140-47.open.aalto.fi) (Ping timeout: 252 seconds) |
2025-03-18 10:36:20 +0100 | dhil | (~dhil@2a0c:b381:52e:3600:dac:1d21:ce7f:30a0) dhil |
2025-03-18 10:35:39 +0100 | <dminuoso> | Now, I want to write a `catch` handler that will catch any of these, it seems like I would have to write `handleValueSpecMismatch :: exists p. ErrorAnnotation p *> ValueSpecMismatch p -> IO a` |
2025-03-18 10:34:45 +0100 | <dminuoso> | Mmm, I have an exception with an instance `ErrorAnnotation p => Exception (ValueSpecMismatch p)` for which a bunch of `instance ErrorAnnotation ...` exist. |
2025-03-18 10:33:42 +0100 | <c_wraith> | lazy level-order tree renumbering |
2025-03-18 10:32:48 +0100 | chele | (~chele@user/chele) chele |
2025-03-18 10:32:10 +0100 | fp1 | (~Thunderbi@wireless-86-50-140-47.open.aalto.fi) fp |
2025-03-18 10:32:06 +0100 | <mauke> | because I can actually understand it |