(* File echo.ml *) open Printf;; let rec reverse lst = match lst with [] -> [] | head :: tail -> reverse tail @ [head];; let rec print_list lst = match lst with [] -> [] | head :: tail -> printf "%s " head :: print_list tail;; let trim lst = match lst with [] -> [] | head :: tail -> tail;; let main () = let a = Array.to_list(Sys.argv) in print_list( reverse( trim(a) ) );; main ();; print_newline();;