
26 Apr
2011
26 Apr
'11
1:50 p.m.
On Tue, 2011-04-19 at 23:48 -0400, Tyson Whitehead wrote:
On April 19, 2011 23:22:12 Tyson Whitehead wrote:
ArrowLoop from MonadFix
loop' f = fst' .' loop'' (f .' arr' (second snd)) where loop'' f = mfix (\y -> f .' arr' (,y))
BTW haskellers, I've been wondering if mfix would better be defined as
mfix' :: (m a -> m a) -> m a
where "mfix' f = mfix (f . pure)" for the computational monads. The advantage being you can give a useful definition for structural monads as well.
What would be the difference with fix? Regards