(Estou aprendendo OCaml e essa pode ser uma pergunta ingênua.)
Eu uso o código abaixo para definir uma função nomeada a
:
utop # let a = fun x -> x+1;;
val a : int -> int = <fun>
Observe que o espaçamento entre linhas val a
aparece claramente como o nome da função.
Então tentei ver as informações do tipo da função a
:
utop # a;;
- : int -> int = <fun>
Há um -
, que significa anônimo.
Mas eu dei um nome a ele a
.
Por que não é exibido?
O REPL lê a linha
como uma expressão de nível superior anônima, que retorna um valor do tipo
int->int
. Este é o mesmo comportamento que você vê comcom um tipo de retorno um pouco incomum para a expressão.
Se você quiser ter informações sobre um valor, você pode usar a
#show
diretiva toplevel: