:: Monad m => m Bool -> m () -> m () package:monad-loops

Execute an action repeatedly as long as the given boolean expression returns True. The condition is evaluated before the loop body. Discards results.