[Haskell-cafe] Re: monad subexpressions

Bulat Ziganshin bulat.ziganshin at gmail.com
Fri Aug 3 16:06:54 EDT 2007

Hello Chris,

Friday, August 3, 2007, 8:09:49 PM, you wrote:

> foo = do b' <- readTVar b
>          c' <- readTVar c
>          d' <- readTvar d
>          return (b' + c' / d')

> It's true that order of effects *can* be important in monads like IO and
> STM.  It's also true, though, that probably 50% of the time with IO, and

90%, in my programs at least

> 95% with STM, the order does not actually matter.  Taking a hard-line 
> approach on this and forcing a linear code structure is equivalent to 
> ignoring what experience has taught in dozens of other programming 
> languages.  Can you think of a single widely used programming language
> that forces programmers to write linear one-line-per-operation code like
> this?

assembler :)  it's what our opponents propose - let's Haskell be like
assembler with its simple and concise execution model :)

Best regards,
 Bulat                            mailto:Bulat.Ziganshin at gmail.com

More information about the Haskell-Cafe mailing list