Is it possible to define Y in Haskell (pref' H98) -- and get it to pass type checking?
-- E.g. As in SML let datatype 'a rt = recrt of ('a rt) -> 'a; fun Y G = let fun Ggg (recrt g) n = G(g (recrt g))n in Ggg (recrt Ggg) end; fun F f n = if n=0 then 1 else n*f(n-1); in Y F 3 end -- I've tried various things, some of which *seem* to put the checker in a loop? -L -- _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell