(* at your prompt ($), compile this file using the following (don't type "$"): $ ocamlbuild printEg.d.byte execute the file by next typing $ ./printEg.d.byte you can clean up your build, so that all that is left is the printEg.ml source file using the following, reminiscent of Makefiles: $ ocamlbuild -clean *) let print_name (first:string) (last:string) : unit = Printf.printf "%s, %s\n" last first let print_names () : unit = print_name "David" "Walker"; print_name "Christopher" "Moretti"; print_name "Margo" "Flynn"; print_name "Akshay" "Mittal" let print_header () : unit = print_endline "Your course staff are" let main : unit = print_header (); print_names () (* Other useful functions: print_newline print_int print_float print_char print_string see also "String conversion functions" in http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html to convert values to and from strings and print them that way *)