
26 Jan
2005
26 Jan
'05
7:36 p.m.
G'day all.
Quoting Iavor Diatchki
This is not enough, at least in some cases. Consider lists, and m being an infinite list, e.g. [1..] Then we need that the inifinte concatenation of a empty lists gives us the empty list which is not the case.
It also doesn't work for monad transformers (e.g. Ralf Hinze's backtracking transformer) when stacked over monads like IO. I say we remove the "law" altogether. It clearly causes problems, and if you use the Hughes/Hinze method for deriving the monads, it turns out that you don't need it anyway. Cheers, Andrew Bromage