Круглые скобки в Ocaml

Я оцениваю очень простой фрагмент кода на верхнем уровне Ocaml:

let p5 () = print_int 5;;
p5 ();;

print_string "*************************";;

let p4 = print_int 4;;
p4;; 

И он возвращает:

val p5 : unit -> unit = <fun>
#   5- : unit = ()
#   *************************- : unit = ()
#   4val p4 : unit = ()
#   - : unit = ()

Мои вопросы:

  1. Что делает () означает в let p5 () = print_int 5 ;; ?
  2. Что означают - и () в # 5-: unit = () ?
  3. Является ли p4 функцией?
  4. Почему 4 в начале # 4val p4: unit = ( ) ?
  5. Кажется, что () можно использовать в коде Ocaml, чтобы скрыть побочный эффект, может ли кто-нибудь показать мне пример?
5
задан SoftTimur 10 October 2011 в 10:10
поделиться