[Haskell-cafe] Haskell code for this example of flow control
Donald Bruce Stewart
dons at cse.unsw.edu.au
Wed Feb 1 20:00:26 EST 2006
briqueabraque:
> Hi,
>
> I would like to know what options I have in Haskell to do something
> similar to this C++ code:
>
> double a = 1000;
> while (a>1) a/=2;
>
> I'm able to do that with lists, but I would like to know how to do
> that with monads and variables with state.
You'll get good code using a normal recusive loop:
main = print (loop 1000)
where
loop a | a <= 1 = a
| otherwise = loop (a/2)
All such control structures may be implemented using recursion.
-- Don
More information about the Haskell-Cafe
mailing list