どう書く? - リストを逆順に表示

リストを逆順に表示 - どう書く? org

List.revを使わないように考えてみました。

let reverse lst =
  let rec _reverse _lst =
    match _lst with
    | [] -> _lst
    | hd::tl -> _reverse(tl)@[hd]
  _reverse lst

[<EntryPoint>]
let main(args : string[]) =
  //Listモジュール使用
  [1..100]
  |> List.rev
  |> List.iter (fun n -> printf "%d" n)
  printfn ""

  //Listモジュール不使用
  reverse [1..100]
  |> List.iter (fun n -> printf "%d" n)
  printfn ""