
On Sun, Mar 03, 2002 at 11:38:44PM +0000, Levent Erkok wrote:
On Monday 25 February 2002 10:42 am, Simon Marlow wrote:
This sounds fine to me. It should probably go in Control.Fix. Levent: would you like to suggest a full contents for this library?
Sorry for the late reply. Modulo names, I think the attached library should do it.
I'd suggest that traceFix be renamed trace; it will be used by Control.Arrow. But is anyone ever going to use nthFix or paramFix? The former is only useful in proofs, while the latter is easily available as paramFix :: ((a, u) -> u) -> a -> u paramFix f a = fix (curry f a) How about a Control.Function module, with fix, trace and compose :: [a -> a] -> a -> a compose = foldr (.) id times :: Integral n => n -> (a -> a) -> a -> a times n f = compose (genericReplicate n f) so then nthFix n f = times n f undefined. Maybe some of the prelude functions would belong in there too.