Newest at the top
2025-03-28 20:06:28 +0100 | <haskellbridge> | <Liamzee> <0, as opposed to <= 0 |
2025-03-28 20:06:06 +0100 | <tomsmeding> | surely that's a bug |
2025-03-28 20:05:47 +0100 | <tomsmeding> | _what_ |
2025-03-28 20:05:35 +0100 | <haskellbridge> | <Liamzee> namely, Linear.take 3 takes 4 elements of the list |
2025-03-28 20:05:24 +0100 | <tomsmeding> | Liamzee: "keyed"? |
2025-03-28 20:04:45 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 246 seconds) |
2025-03-28 20:04:33 +0100 | <haskellbridge> | <Liamzee> tomsmeding: no, the problem is that it's keyed so that Prelude.take 3 and Prelude.Linear.take3 do separate things |
2025-03-28 20:04:18 +0100 | rvalue- | (~rvalue@user/rvalue) rvalue |
2025-03-28 20:04:11 +0100 | malte | (~malte@mal.tc) malte |
2025-03-28 20:03:54 +0100 | malte | (~malte@mal.tc) (Ping timeout: 268 seconds) |
2025-03-28 20:02:37 +0100 | <tomsmeding> | (hint for my "fun exercise": first infer the types of x, y and z in both cases) |
2025-03-28 20:01:32 +0100 | <tomsmeding> | monochrom: no, (<$>) not (<*>) |
2025-03-28 20:01:23 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f71c835c1b6e3010b6c.dip0.t-ipconnect.de) acidjnk |
2025-03-28 20:00:54 +0100 | wildsalander | (~wildsalan@37-33-20-77.bb.dnainternet.fi) (Client Quit) |
2025-03-28 20:00:48 +0100 | zungi | (~tory@user/andrewchawk) (Ping timeout: 264 seconds) |
2025-03-28 20:00:44 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-03-28 20:00:15 +0100 | wildsalander | (~wildsalan@37-33-20-77.bb.dnainternet.fi) |
2025-03-28 20:00:05 +0100 | <tomsmeding> | +g |
2025-03-28 20:00:03 +0100 | <tomsmeding> | fun exercise: prove that "(x <$> y) <$> z" and "x <$> (y <$> z)" do exactly the same thin |
2025-03-28 20:00:01 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-03-28 19:57:40 +0100 | <yahb2> | (<$>) :: Functor f => (a -> b) -> f a -> f b ; -- Defined in ‘GHC.Internal.Data.Functor’ ; infixl 4 <$> |
2025-03-28 19:57:40 +0100 | <tomsmeding> | % :i <$> |
2025-03-28 19:57:34 +0100 | <tomsmeding> | absence: what about simply "f' <$> g' <$> h' <$> a'"? |
2025-03-28 19:44:48 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-03-28 19:44:10 +0100 | slack1256 | (~slack1256@2803:c600:5111:9ab8:84f4:ae24:2907:edab) slack1256 |
2025-03-28 19:40:09 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2025-03-28 19:39:16 +0100 | euphores | (~SASL_euph@user/euphores) (Remote host closed the connection) |
2025-03-28 19:31:13 +0100 | acidjnk | (~acidjnk@p200300d6e71c4f71c835c1b6e3010b6c.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2025-03-28 19:31:12 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-03-28 19:23:16 +0100 | Googulator | (~Googulato@2a01-036d-0106-01d5-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) |
2025-03-28 19:23:05 +0100 | aetepe | (~aetepe@188.119.58.34) aetepe |
2025-03-28 19:18:30 +0100 | tromp | (~textual@2001:1c00:3487:1b00:6095:11f3:6fa5:fb3d) |
2025-03-28 19:09:35 +0100 | malte | (~malte@mal.tc) malte |
2025-03-28 19:05:18 +0100 | <absence> | You may be right, but I run into the same RankN problem: Couldn't match type: forall a. m a -> n a with: b -> c |
2025-03-28 19:02:35 +0100 | tromp | (~textual@2001:1c00:3487:1b00:6095:11f3:6fa5:fb3d) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2025-03-28 19:00:15 +0100 | malte | (~malte@mal.tc) (Remote host closed the connection) |
2025-03-28 18:56:48 +0100 | <monochrom> | Come to think of it, I probably once used Applicative laws to prove something related. |
2025-03-28 18:56:36 +0100 | aetepe | (~aetepe@188.119.58.34) (Ping timeout: 252 seconds) |
2025-03-28 18:55:16 +0100 | <monochrom> | Does "(\f g h a -> f (g (h a))) <$> f' <*> g' <*> h' <*> a'" simply mean f' <*> (g' <*> (h' <*> a')) ? |
2025-03-28 18:53:42 +0100 | <c_wraith> | Eh. The lens library uses ALens (or whatever) in a lot of contexts where it'd otherwise need RankN |
2025-03-28 18:52:08 +0100 | <monochrom> | I think (.) already works with RankN. It is why the lens library has no type error. |
2025-03-28 18:50:16 +0100 | <absence> | Is it possible to define a generic (.) that works with RankN, or would it have to be a more specific one for the structures I have? |
2025-03-28 18:48:07 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds) |
2025-03-28 18:46:02 +0100 | <merijn> | absence: Can't you fix it with explicit RankN type annotations? |
2025-03-28 18:45:15 +0100 | <absence> | Ugh, "of course" I'm using impredicative types, so that fails in the same way as the regular (.) does, but other than that I guess it would've worked. |
2025-03-28 18:45:01 +0100 | OlzhasYergali | (~OlzhasYer@188.130.156.6) (Quit: Client closed) |
2025-03-28 18:42:27 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2025-03-28 18:42:13 +0100 | <merijn> | Maybe reverse the arguments depending on how you want it to line up |
2025-03-28 18:41:49 +0100 | <lambdabot> | Applicative f => f (b -> c) -> f (a -> b) -> f (a -> c) |
2025-03-28 18:41:48 +0100 | <merijn> | :t let f <.> g = (.) <$> f <*> g in (<.>) |