RosettaCodeData/Task/Flatten-a-list/ArkScript/flatten-a-list.ark

14 lines
295 B
Plaintext

(import std.List :flatten :map)
(let data [[1] 2 [[3 4] 5] [[[]]] [[[6]]] 7 8 []])
(let process (fun (lst)
(flatten
(map
lst
(fun (sub)
(if (= "List" (type sub))
(process sub)
sub))))))
(assert (= (process data) [1 2 3 4 5 6 7 8]) "list is flat")