Task

Write a function to flatten the nesting in an arbitrary list of values.

Your program should work on the equivalent of this list:

  [[1], 2, [[3, 4], 5], [[[]]], [[[6]]], 7, 8, []]

Where the correct result would be the list:

   [1, 2, 3, 4, 5, 6, 7, 8]

Related task

   Tree traversal


PROGRAM	"Flatten a list"
 
DECLARE FUNCTION  Entry ()
 
FUNCTION  Entry ()
  n$ = "[[1], 2, [[3,4], 5], [[[]]], [[[6]]], 7, 8 []]"
  FOR i = 1 TO LEN(n$)
    IF INSTR("[] ,",MID$(n$,i,1)) = 0 THEN
      flatten$ = flatten$ + c$ + MID$(n$,i,1)
      c$ = ", "
    END IF
  NEXT i
  PRINT "[";flatten$;"]"
END FUNCTION
 
END PROGRAM