On 11 June 2010 10:12, Roman Cheplyaka <[email protected]> wrote:
> * Günther Schmidt <[email protected]> [2010-06-11 01:22:27+0200]
>> there is nothing wrong with ifs as such except the won't actually
>> exit a long piece of code, the computation will continue, just in a
>> useless way.
>
> Can you clarify?

I think Günther assumed that I was suggesting:

do if x
      then return ()
      else bar
   continueComputation

The problem is that if 'x' is true, continueComputation should
never happen. So you can solve it like this, which is what I was
actually suggesting:

do if x
      then return ()
      else do bar; continueComputation

But then you have this problem, which Günther addressed:

2010/6/11 Günther Schmidt <[email protected]>:
> Primarily for every "if" I need two forks, so at every "if" the
> branches double.

Which can be a big problem if you have a sequence of heterogenous
actions that must be executed in order and are dependant and
nested. Continutations solve this, as do ErrorT and MaybeT which
are both restricted subsets for returning values. I'd use MaybeT
if a value needed to be returned, or nothing.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to