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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to