Chaddaï Fouché wrote:
2007/9/25, Andrew Coppin <[EMAIL PROTECTED]>:
Forget PrintfType - I can't even understand the haddoc page yet!

(printf performs I/O, yet it is outside the I/O monad. It seems to
accept an arbitrary number of arguments, which is obviously impossible.
It's *almost* as scary as the original. Although the original will crash
your program is you use it wr... oh, so does this one. Cool.)

printf don't always perform IO : if you ask it for a String it will
happily turn into sprintf for you, if you use it in the IO Monad, it
will indeed perform IO, but there's nothing fundamentally IO bound in
printf logic.

That's even *more* impossible... o_O

Well printf crash your program because it can't check if you're
arguments correspond to the chain at compile time (quite obviously
since the chain itself can be dynamic), but it won't corrupt memory or
anything from this kind, so it's arguably much better than the C one.

All I know is that in C, any attempt to use printf() has an 80% probability of causing the machine to dump the entire contents of RAM to stdout until it happens upon a zero byte. Probably the most annoying part was all the 0x07 bytes in there. Do you know what a room full of beeping PCs is like? I do... Sometimes when we got bored, we would "race" our PCs to see which one would stop beeping first. (But they stopped that when I worked out how to make mine "win" every race...)


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to