RosettaCodeData/Task/Flatten-a-list/F-Sharp/flatten-a-list-2.fs
2023-07-01 13:44:08 -04:00

8 lines
246 B
FSharp

let rec flatten =
function
| I x -> [x]
| L x -> List.collect flatten x
printfn "%A" (flatten (L [L([I(1)]); I(2); L([L([I(3);I(4)]); I(5)]); L([L([L([])])]); L([L([L([I(6)])])]); I(7); I(8); L([])]))
// -> [1; 2; 3; 4; 5; 6; 7; 8]