Что значит val в Ocaml - PullRequest
       6

Что значит val в Ocaml

0 голосов
/ 03 марта 2020

При просмотре документации модулей в Ocamel происходит что-то подобное, например, в Графическом модуле

val close_graph : unit -> unit

Или при написании функции в интерактивном режиме:

# let x () = 3;; 
val x : unit -> int = <fun>

есть val x : unit -> int = <fun>, что такое val и это вариант использования?

1 Ответ

2 голосов
/ 03 марта 2020

Ну, val - это ключевое слово в OCaml для нескольких различных применений.

В обоих случаях вы упомянули, по сути, что val используется в сигнатуре модуля для указания значений, которые появляются в модуль. Значения - это такие вещи, как функции и выражения. (Примером того, что не является значением, которое может появиться в модуле, является тип.)

О сигнатурах модулей можно прочитать в Разделе 7.10 руководства OCaml.

Первый вариант нетерминальной спецификации - это тот, который начинается с val.

(На верхнем уровне вы создаете модуль по мере ввода в определения. toplevel использует синтаксис в стиле подписи, чтобы показать, что вы определили. Так или иначе, мне кажется.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...