Newest at the top
2025-02-08 03:21:43 +0100 | dostoevsky | (~dostoevsk@user/dostoevsky) dostoevsky |
2025-02-08 03:21:24 +0100 | dostoevsky | (~dostoevsk@user/dostoevsky) (Remote host closed the connection) |
2025-02-08 03:19:46 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-08 03:14:36 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
2025-02-08 03:13:03 +0100 | zero | (~z@user/zero) zero |
2025-02-08 03:09:38 +0100 | zero | (~z@user/zero) (Read error: Connection reset by peer) |
2025-02-08 02:59:43 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-08 02:58:07 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-02-08 02:55:11 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2025-02-08 02:54:44 +0100 | aaronv | (~aaronv@user/aaronv) aaronv |
2025-02-08 02:53:08 +0100 | terrorjack | (~terrorjac@2a01:4f8:c17:a66e::) (The Lounge - https://thelounge.chat) |
2025-02-08 02:52:10 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-08 02:45:00 +0100 | <haskellbridge> | <Preetham Gujjula> Ah yes, you're right it works on later GHCs. Thank you again! |
2025-02-08 02:36:34 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 265 seconds) |
2025-02-08 02:32:02 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-08 02:30:50 +0100 | zero | (~z@user/zero) zero |
2025-02-08 02:30:29 +0100 | zwro | (~z@user/zero) (Ping timeout: 248 seconds) |
2025-02-08 02:24:46 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f9788a4d7c575081360.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2025-02-08 02:23:30 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-08 02:22:58 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2025-02-08 02:22:30 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-08 02:21:14 +0100 | <Leary> | You're probably using a version of GHC/base from before that quantified superclass was added, otherwise it should work the same. |
2025-02-08 02:17:13 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-08 02:16:32 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/KekKHFuFggARKJEfWBCnMgyf/rXzjao_nHrA (6 lines) |
2025-02-08 02:16:29 +0100 | <haskellbridge> | <Preetham Gujjula> It does feel a little clunky. The current definition of "Eq1" is "class (forall a. Eq a => Eq (f a)) => Eq1 (f :: Type -> Type)", but I noticed that if we write |
2025-02-08 02:15:44 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2025-02-08 02:15:21 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-08 02:13:11 +0100 | <haskellbridge> | <Preetham Gujjula> I see, thanks Leary! |
2025-02-08 02:10:39 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) bitdex |
2025-02-08 02:08:18 +0100 | <Leary> | Preetham: You still have to define `(==)`, but you can do that with `eq1`. Using `coerce` over `map F1` may avoid a needless traversal of the list, though rewrite rules would likely evade it anyway. |
2025-02-08 02:08:00 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/SGoxowAGeEDwOguEHnahrMWL/IttEtTK99nU (11 lines) |
2025-02-08 02:08:00 +0100 | <haskellbridge> | <Preetham Gujjula> Oh wait I see, I can write an implementation for "(==)" using "eq1": |
2025-02-08 02:02:46 +0100 | <haskellbridge> | <Preetham Gujjula> Also why can't I just use the "F1" constructor instead of "coerce"? |
2025-02-08 02:02:02 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/AmMeFJGdLlJCilBtJKDYAhqG/0S1DLbftubs (10 lines) |
2025-02-08 02:02:02 +0100 | <haskellbridge> | <Preetham Gujjula> Leary: I don't think that idea works, GHC warns: |
2025-02-08 01:55:40 +0100 | <haskellbridge> | <Preetham Gujjula> Oh good to hear sm :) |
2025-02-08 01:54:50 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) remedan |
2025-02-08 01:52:53 +0100 | remedan | (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
2025-02-08 01:51:20 +0100 | <haskellbridge> | <sm> Preetham Gujjula: worked perfectly in my matrix client. :) And in IRC client, it was also readable, with two pastebin links |
2025-02-08 01:49:49 +0100 | <Leary> | Preetham: You can write `newtype F1 f a = F1 (f a); instance (Eq1 f, Eq a) => Eq (F1 f a)` and use `coerce @[f a] @[F1 f a]`. |
2025-02-08 01:48:08 +0100 | alfiee | (~alfiee@user/alfiee) (Ping timeout: 252 seconds) |
2025-02-08 01:45:01 +0100 | <haskellbridge> | <Preetham Gujjula> My apologies everyone, I meant to post this in the Haskell matrix channel |
2025-02-08 01:43:58 +0100 | alfiee | (~alfiee@user/alfiee) alfiee |
2025-02-08 01:41:23 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/IWoCXjVZUXtnETfIMFBBSOuB/v7p8RIuNF04 (21 lines) |
2025-02-08 01:41:23 +0100 | <haskellbridge> | <Preetham Gujjula> Is there any way to infer "Eq (f a)" from "(Eq a, Eq1 f)"? Here's a small example: |
2025-02-08 01:40:33 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/txkgrmSDUVjUVWVJRVXKYhNi/LYPi2Ize3LU (21 lines) |
2025-02-08 01:40:33 +0100 | <haskellbridge> | <Preetham Gujjula> Is there any way to infer "Eq (f a)" from "(Eq a, Eq1 f)"? Here's a small example: |
2025-02-08 01:23:24 +0100 | sprotte24 | (~sprotte24@p200300d16f162e00a0abf896d629d189.dip0.t-ipconnect.de) (Quit: Leaving) |
2025-02-08 01:19:43 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2025-02-08 01:19:25 +0100 | Square | (~Square@user/square) Square |