2024/04/30

Newest at the top

2024-04-30 20:28:01 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 268 seconds)
2024-04-30 20:26:51 +0200 <monochrom> Aw, that is not as fun as Maybe [IO Int] :)
2024-04-30 20:26:01 +0200 <lambdabot> Just [Just 7]
2024-04-30 20:26:00 +0200 <yin> > pure . pure . pure $ 7 :: Maybe [Maybe Int] -- justsomeguy
2024-04-30 20:24:03 +0200philopsos(~caecilius@user/philopsos)
2024-04-30 20:22:41 +0200 <monochrom> Oh, how it type-checks? That's much easier. :)
2024-04-30 20:21:37 +0200tomboy64(~tomboy64@user/tomboy64)
2024-04-30 20:21:27 +0200 <justsomeguy> I'm just thinking out loud here.. Since return wraps the argument to f, then f must operate on an unwrapped type.
2024-04-30 20:21:14 +0200tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2024-04-30 20:16:41 +0200peterbecich(~Thunderbi@47.229.123.186)
2024-04-30 20:13:01 +0200 <int-e> join (fmap (return . f) xs) = join (fmap return (fmap f xs)) = fmap f xs
2024-04-30 20:12:54 +0200 <c_wraith> I'm pretty sure that law is free if the other laws are followed.
2024-04-30 20:12:45 +0200 <geekosaur> the monad laws document the relationship that makes this work
2024-04-30 20:12:17 +0200 <yin> something something lawful instances
2024-04-30 20:11:46 +0200 <geekosaur> (well, in CT >>= doesn't exist; more correctly, that's how you woulddefine it in CT)
2024-04-30 20:11:04 +0200 <geekosaur> in category theory >>= is join + fmap. by applying an identity to one of those operations, you can reconstruct the other; so `return`/`pure` lets you recover `fmap` and `id` lets you recover `join`
2024-04-30 20:10:49 +0200 <monochrom> But if the question is why it is correct, then the answer is it is one of the monad laws.
2024-04-30 20:10:22 +0200 <monochrom> I don't understand the question. You already have an implementation right there. :)
2024-04-30 20:09:39 +0200 <justsomeguy> Can someone help me understand how fmap can be implemented in terms of (\f xs -> xs >>= return . f)?
2024-04-30 20:02:33 +0200justsomeguy(~justsomeg@user/justsomeguy)
2024-04-30 19:59:02 +0200mzschr(~mzschr@2a07-a880-4603-1035-18b5-1e9f-f698-63a6.pool6.ovpn.com) (Quit: Client closed)
2024-04-30 19:59:02 +0200euleritian(~euleritia@77.22.252.56)
2024-04-30 19:58:17 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-04-30 19:57:35 +0200peterbecich(~Thunderbi@47.229.123.186) (Ping timeout: 264 seconds)
2024-04-30 19:56:13 +0200destituion(~destituio@2a02:2121:340:2456:fffe:d0f:7737:dd1)
2024-04-30 19:55:37 +0200rvalue(~rvalue@user/rvalue)
2024-04-30 19:55:07 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-04-30 19:52:49 +0200glguy(g@libera/staff/glguy)
2024-04-30 19:51:34 +0200glguy(g@libera/staff/glguy) (Quit: Quit)
2024-04-30 19:48:33 +0200raym(~ray@user/raym) (Ping timeout: 268 seconds)
2024-04-30 19:48:28 +0200destituion(~destituio@85.221.111.174) (Ping timeout: 260 seconds)
2024-04-30 19:45:50 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-30 19:45:24 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-04-30 19:45:24 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
2024-04-30 19:43:35 +0200euleritian(~euleritia@77.22.252.56)
2024-04-30 19:42:13 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-04-30 19:35:52 +0200todi(~todi@p57803331.dip0.t-ipconnect.de)
2024-04-30 19:32:25 +0200demon-cat(~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 245 seconds)
2024-04-30 19:31:14 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-04-30 19:28:05 +0200tri(~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 240 seconds)
2024-04-30 19:24:35 +0200danza(~francesco@151.43.202.238) (Ping timeout: 264 seconds)
2024-04-30 19:23:58 +0200tri(~tri@ool-18bbef1a.static.optonline.net)
2024-04-30 19:20:35 +0200 <yin> or maybe i'm misunderstanding
2024-04-30 19:15:26 +0200 <yin> multiline signatures i'm guessing
2024-04-30 19:15:13 +0200 <yin> ah i see
2024-04-30 19:10:21 +0200yin(~yin@user/zero)
2024-04-30 19:08:49 +0200yin(~yin@user/zero) (Ping timeout: 256 seconds)
2024-04-30 19:02:50 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-30 19:02:42 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-04-30 19:02:42 +0200ft(~ft@p3e9bc1bf.dip0.t-ipconnect.de)