
2009/4/10 Stefan Monnier
IO a ~ World -> (a, World) I still don't understand this; we are passing a World and getting a World back, We are? Why do you think that? Because that's what (World -> (a,World)) means, last I checked.
No: Hasekll functions are partial, which means that "a -> b" means "takes an object of type `a' and if it terminates, it returns an object of type `b'". Note the "if it terminates".
Since neither loop nor loop' terminate, their return type is actually meaningless.
Why? They both return _|_, which is a quite legal value of that type.
Stefan
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Eugene Kirpichov Web IR developer, market.yandex.ru