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.


 
:- module count_in_octal.
:- interface.
:- import_module io.
 
:- pred main(io::di, io::uo) is det.
 
:- implementation.
:- import_module int, list, string.
 
main(!IO) :-
    count_in_octal(0, !IO).
 
:- pred count_in_octal(int::in, io::di, io::uo) is det.
 
count_in_octal(N, !IO) :-
    io.format("%o\n", [i(N)], !IO),
    count_in_octal(N + 1, !IO).
 