使用";时出现语法错误;“带字段”;在OCaml中

使用";时出现语法错误;“带字段”;在OCaml中,ocaml,Ocaml,我正在使用真实世界的OCaml,在以下代码中出现语法错误: `# module Logon = struct type t = { session_id: string; time: Time.t; user: string; credentials: string; } with fields end;; 在运行时,Utop在单词“with”下面加下划线,并抛出语法错误。我自己也尝试过类似的、更简单的

我正在使用真实世界的OCaml,在以下代码中出现语法错误:

`# module Logon = struct
    type t =
      { session_id: string;
        time: Time.t;
        user: string;
        credentials: string;
      }
    with fields
  end;;
在运行时,Utop在单词“with”下面加下划线,并抛出语法错误。我自己也尝试过类似的、更简单的例子,但得到了同样的错误。有什么想法吗

编辑:省略“}”添加。

对于ocaml 4.01.0: 在utop中:
#需要“fieldslib.syntax”正在解决问题。(…别忘了运行
opam安装字段lib

对于最近的ocaml: (得到一些提示)

opam安装ppx_jane fieldslib


对于我来说,我需要在utop中添加以下内容:

#require "ppx_fields_conv";;

对我来说没有骰子。。。在
#上需要“fieldslib.syntax”我得到“没有这样的包:fieldslib.syntax”。但是,opam坚持认为fieldslib已经安装(在
opam安装fieldslib
上)并且是最新的(在
opam升级fieldslib
上)。此外,在utop
#require fieldslib“;
中,它不能解决问题。它适用于ocaml 4.01.0,但不适用于4.02.3,因为我无法获得fieldslib.syntax(与您@John Binder的问题相同)。什么是@派生的?我应该如何了解有关此语法的更多信息?
#require "ppx_fields_conv";;