
6 Feb
2008
6 Feb
'08
4:30 a.m.
Hello Uwe, Wednesday, February 6, 2008, 7:44:27 AM, you wrote:
But after that, it sure seems to me as if I've taken data out of the IO monad...
this means that you can't use results of IO actions in pure functions. your code works in some transformed version of IO monad, so you don't escaped it if we call pure functions as "functions" and non-pure ones as "procedures", the rule is "functions can't call procedures", but all other activity is possible. in your do_action you calls procedure (to format current time) and call a function (to format given time). do_action is procedure (because it works in transformed IO monad), so you don't break any rules -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com