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

Reply via email to