Files
mercury/tests/benchmarks/printlist.nl
Fergus Henderson aaafa54da5 Define main/2.
*.nl:
	Define main/2.
1995-03-06 05:22:25 +00:00

37 lines
574 B
Plaintext

:- module printlist.
:- interface.
:- import_module list, int, io.
:- pred print_list(list(int), io__state, io__state).
:- mode print_list(in, di, uo) is det.
:- implementation.
print_list(Xs) -->
(
{ Xs = [] }
->
io__write_string("[]\n")
;
io__write_string("["),
print_list_2(Xs),
io__write_string("]\n")
).
:- pred print_list_2(list(int), io__state, io__state).
:- mode print_list_2(in, di, uo) is det.
print_list_2([]) --> [].
print_list_2([X|Xs]) -->
io__write_int(X),
(
{ Xs = [] }
->
[]
;
io__write_string(", "),
print_list_2(Xs)
).