以下、順次リストのお尻に処理結果を繋げていく処理ですが、
どちらが速度面、メモリ面で好ましいのですか?
前から疑問に思ってたもので・・・

�@ 「::」で繋いで、最後に逆さまにする
let hoge f list =
let rec iter = function
| h :: tl -> (f h) :: (iter tl)
| [] -> []
in
List.rev (iter list)

�A 「@」で即座に後ろに繋げていく
let hoge f list =
let rec iter = functoin
| h :: tl -> [f h] @ (iter tl)
| [] -> []
in
iter list