
3 Sep
2006
3 Sep
'06
11:46 a.m.
Lennart Augustsson wrote:
Well, bind is extracting an 'a'. I clearly see a '\ a -> ...'; it getting an 'a' so it can give that to g. Granted, the extraction is very convoluted, but it's there.
Oh, that can be remedied...
m >>= g = m . flip g
In fact, why even mention m?
(>>=) = (. flip) . (.)
Anyway, there's no "a extracted from m", since a function cannot be deconstructed. That lets the "free theorem" degenerate into "m >>= k does something with m and/or k, most of the time", which is kinda meaningless and explains exactly nothing. Udo.