Task

Produce a sequential count in octal,   starting at zero,   and using an increment of a one for each consecutive number.

Each number should appear on a single line,   and the program should count until terminated,   or until the maximum value of the numeric type in use is reached.



Related task

   Integer sequence   is a similar task without the use of octal numbers.


o(O) :- member(O, [0,1,2,3,4,5,6,7]).
 
octal([O]) :- o(O).
octal([A|B]) :- 
	octal(O), 
	o(T), 
	append(O, [T], [A|B]),
	dif(A, 0).
 
octalize :-
	forall(
		octal(X),
		(maplist(write, X), nl)
	).