> I'm not certain this applies, but it should be > possible > to force evaluation order with a technique similar to > deepSeq. It might be cleaner than using IO.
I think in this case, I'd prefer to use the IO monad. 1) It keeps the sequencing very, very explicit and not likely to be confused with a strictness annotation. seq is more about performance than semantics and, although all current Haskell compilers happen to impose some sequencing on the evaluation order of seq's arguments, future compilers could break that property and still be semantically correct. 2) To use seq, I have to link the evaluation of the error check to the evaluation of something else. It's not quite clear what a good choice would be. Point #1 is my main reason. -- Alastair Reid www.haskell-consulting.com _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell