High-level technique for program options handling

Alastair Reid alastair at reid-consulting-uk.ltd.uk
Tue Jan 20 14:56:52 EST 2004


> 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



More information about the Haskell mailing list