> I've used a similar function myself, but why write it in such a complicated > way? How about > > lfp :: Eq a => (a -> a) -> a -> a > lfp f x > | f x == x = x > | otherwise = lfp f (f x)
I've used a similar function too, but your version computes f x twice per iteration, I wrote mine as: fix :: Eq a => (a -> a) -> a -> a fix f x = if x == x2 then x else fix f x2 where x2 = f x I find this fix much more useful than the standard fix. Thanks Neil _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe