let rec qsort l =
match l with
| [] -> []
| x::xs ->
let less =
xs
|> List.filter (fun e -> e < x)
|> qsort
let greater =
xs
|> List.filter (fun e -> e > x)
|> qsort
List.concat [less; [x]; greater]


파이프 파이프