Newest at the top
2025-07-25 10:39:39 +0200 | ethereal_ | (~ethereal@user/ethereal-:30935) ethereal_ |
2025-07-25 10:38:44 +0200 | <merijn> | Leary: Yes, I know about Unsatisfiable, that gist was the reason I proposed adding such a thing to GHC :p |
2025-07-25 10:38:10 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 10:36:33 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-07-25 10:34:59 +0200 | <Leary> | Re type applications to constraints, it seems to work fine? https://play.haskell.org/saved/Efh4MP7v |
2025-07-25 10:34:48 +0200 | __monty__ | (~toonn@user/toonn) toonn |
2025-07-25 10:34:23 +0200 | <Leary> | merijn: That technique is more about escaping the unordered, open world of instances for (ordered) closed type families; I don't see how it helps here. Also, you would want to use `Unsatisfiable` for those errors these days. |
2025-07-25 10:31:45 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2025-07-25 10:30:22 +0200 | <merijn> | Similar abuse: https://gist.github.com/merijn/6130082 |
2025-07-25 10:30:08 +0200 | chele | (~chele@user/chele) chele |
2025-07-25 10:29:50 +0200 | <merijn> | absence: So my idea won't save you if you wanna use TypeApplications, but just in case it happens to give you inspiration: Constraints are just type level families that you can compute with type level functions: https://gist.github.com/merijn/39dc86e345e87276c523 |
2025-07-25 10:27:40 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-07-25 10:26:46 +0200 | LainIwakura | (~LainIwaku@user/LainIwakura) LainIwakura |
2025-07-25 10:26:22 +0200 | <merijn> | Apparently @ application doesn't support Constraint |
2025-07-25 10:26:11 +0200 | <merijn> | Ah, I just discovered a fun limitation xD |
2025-07-25 10:22:52 +0200 | <merijn> | Well it matters, because I'm trying to make an example with explicit Constraints and I dunno how to change the type because I don't understand what it's doing |
2025-07-25 10:22:13 +0200 | caubert | (~caubert@user/caubert) caubert |
2025-07-25 10:22:10 +0200 | jreicher | (~user@user/jreicher) (Read error: Connection reset by peer) |
2025-07-25 10:22:09 +0200 | <lortabac> | I don't think it matters much what test1 does. IIUC the point of the example is the type application |
2025-07-25 10:21:37 +0200 | <merijn> | it's basically const? |
2025-07-25 10:21:24 +0200 | trickard_ | (~trickard@cpe-62-98-47-163.wireline.com.au) |
2025-07-25 10:21:18 +0200 | <merijn> | *test1 |
2025-07-25 10:21:15 +0200 | <merijn> | I was trying to make another example, but I don't understand what test is doing |
2025-07-25 10:21:11 +0200 | trickard | (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
2025-07-25 10:20:08 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 10:20:03 +0200 | <lortabac> | oh I see |
2025-07-25 10:18:57 +0200 | <lortabac> | can't you apply the constraint tuple directly? |
2025-07-25 10:15:44 +0200 | jreicher | (~user@user/jreicher) (Read error: Connection reset by peer) |
2025-07-25 10:14:04 +0200 | <merijn> | oh, might not even need TypeFamilies |
2025-07-25 10:13:10 +0200 | <Leary> | It needs to be partially applied. |
2025-07-25 10:12:53 +0200 | <merijn> | You can simply write a type family combining your constraints straightup |
2025-07-25 10:11:39 +0200 | <merijn> | ok, yeah, you want ConstraintKinds and TypeFamilies |
2025-07-25 10:10:58 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Ping timeout: 240 seconds) |
2025-07-25 10:09:41 +0200 | <merijn> | But I forgot the extension name, I might have an ancient gist of it |
2025-07-25 10:09:28 +0200 | <merijn> | oh, you can do that more directly/explicitly |
2025-07-25 10:08:54 +0200 | caubert | (~caubert@user/caubert) (Ping timeout: 276 seconds) |
2025-07-25 10:06:42 +0200 | jreicher | (~user@user/jreicher) jreicher |
2025-07-25 10:04:49 +0200 | fp | (~Thunderbi@2001:708:20:1406::10c5) fp |
2025-07-25 10:04:34 +0200 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2025-07-25 10:04:33 +0200 | xff0x_ | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 248 seconds) |
2025-07-25 10:02:42 +0200 | jreicher | (~user@user/jreicher) (Read error: Connection reset by peer) |
2025-07-25 10:01:32 +0200 | <absence> | Leary: That's a nice trick, thanks! |
2025-07-25 10:00:05 +0200 | <Leary> | Err, forgot to fork it: https://play.haskell.org/saved/8fkdZkKQ |
2025-07-25 09:59:48 +0200 | <Leary> | You can also avoid writing it out twice if you want: https://play.haskell.org/saved/pG1IGTMm |
2025-07-25 09:57:42 +0200 | <Leary> | Not that I'm aware of. |
2025-07-25 09:57:33 +0200 | <absence> | Leary: Do you know if it's already defined in a common package? |
2025-07-25 09:56:50 +0200 | <Leary> | Otherwise, it's what I'd do. |
2025-07-25 09:56:39 +0200 | <Leary> | absence: Sure: rename `Combine` `&`. |
2025-07-25 09:56:16 +0200 | lunaGUADECOnline | (~luna@90-227-72-210-no600.tbcn.telia.com) () |
2025-07-25 09:54:46 +0200 | Guest9548 | vpan |