2024/04/30

Newest at the top

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)
2024-04-30 19:00:08 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-30 18:57:52 +0200rosco(~rosco@yp-146-6.tm.net.my) (Quit: Lost terminal)
2024-04-30 18:57:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-30 18:57:24 +0200Square(~Square@user/square)
2024-04-30 18:51:40 +0200euleritian(~euleritia@77.22.252.56)
2024-04-30 18:51:33 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 272 seconds)
2024-04-30 18:50:41 +0200 <dminuoso> Or `t -> t` even, stuff of that shape
2024-04-30 18:50:19 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-04-30 18:50:19 +0200 <dminuoso> Though its conceivable that bindings of type `(t -> t) -> t -> t` (without an explicit type signature) could fall into this trap as well