Loops/While: Difference between revisions

added standard ml
(Added Prolog)
(added standard ml)
Line 317:
(display n)
(newline))</lang>
 
=={{header|Standard ML}}==
<lang sml>val n = ref 1024;
while !n > 0 do (
print (Int.toString (!n) ^ "\n");
n := !n div 2
)</lang>
 
But it is more common to write it in a tail-recursive functional style:
<lang sml>let
fun loop n =
if n > 0 then (
print (Int.toString n ^ "\n");
loop (n div 2)
) else ()
in
loop 1024
end</lang>
 
=={{header|UnixPipes}}==
Anonymous user