13 lines
295 B
Text
13 lines
295 B
Text
(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")
|