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.


 
fun octal(x: int): int =
  loop ((out,mult,x) = (0,1,x)) = while x > 0 do
    let digit = x % 8
    let out = out + digit * mult
    in (out, mult * 10, x / 8)
  in out
 
fun main(n: int): [n]int =
  map octal (iota n)
 