RosettaCodeData/Task/Flatten-a-list/E/flatten-a-list-1.e
2023-07-01 13:44:08 -04:00

11 lines
270 B
Text

def flatten(nested) {
def flat := [].diverge()
def recur(x) {
switch (x) {
match list :List { for elem in list { recur(elem) } }
match other { flat.push(other) }
}
}
recur(nested)
return flat.snapshot()
}