
(*********************************************************************

        Adapted from
        Roman E. Maeder: Programming in Mathematica,
        Second Edition, Addison-Wesley, 1991.

 *********************************************************************)


Until::usage = "Until[body, test] evaluates body until test becomes true."

Begin["`Private`"]

Attributes[Until] = {HoldAll}

Until[body_, test_] := Module[ {t}, For[ t=False, !t, t=test, body ] ]

End[]
Null
