使用sexplib语法扩展名可以自动为类型生成序列化代码,如在线上许多简单示例所示:
open Sexplib
type t = { foo : int; bar : string; } with sexp
let v = { foo = 3; bar = "baz"; } in
sexp_of_t v
无法使用
Error: Unbound value int_of_sexp
进行编译。 最佳答案
在最新版本的sexplib中,您需要首先open Sexplib.Std
,它在生成的代码的命名空间中包括标准类型的序列化例程。
所以:
open Sexplib
open Sexplib.Std (* newly essential import *)
type t = { foo : int; bar : string; } with sexp
let v = { foo = 3; bar = "baz"; } in
sexp_of_t v
作品。
关于ocaml - 为什么用sexp注释类型会导致未绑定(bind)值int_of_sexp?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11143415/