Nested function: Difference between revisions

added sml
(added ocaml)
(added sml)
Line 135:
 
let () =
print_string (make_list ". ")</lang>
</lang>
Interestingly, on my computer it prints the numbers in reverse order, probably because the order of evaluation of arguments (and thus order of access of the counter) is undetermined:
{{out}}
Line 202 ⟶ 201:
 
(display (make-list ". "))</lang>
 
=={{header|Standard ML}}==
 
<lang sml>fun make_list separator =
let
val counter = ref 1;
fun make_item item =
let
val result = Int.toString (!counter) ^ separator ^ item ^ "\n"
in
counter := !counter + 1;
result
end
in
make_item "first" ^ make_item "second" ^ make_item "third"
end;
 
print (make_list ". ")</lang>
 
=={{header|Swift}}==
Anonymous user