Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ocaml @@导出sexp在utop上不起作用_Ocaml_Utop - Fatal编程技术网

Ocaml @@导出sexp在utop上不起作用

Ocaml @@导出sexp在utop上不起作用,ocaml,utop,Ocaml,Utop,我在utop中运行以下代码: # type u = { a: int; b: float } [@@deriving sexp];; 但是没有生成预期的s表达式转换器声明 我已经安装了Core 0.11.0和utop 2.1.0版 Ocaml的版本是4.06.1 谢谢。您需要通过-require,以便加载ppx。此外(特定于此驱动程序),您需要使用-require sexplib和手动打开sexplib.Std在作用域中传递其运行时: % utop -require ppx_sexp_conv

我在utop中运行以下代码:

# type u = { a: int; b: float } [@@deriving sexp];;
但是没有生成预期的s表达式转换器声明

我已经安装了Core 0.11.0和utop 2.1.0版

Ocaml的版本是4.06.1


谢谢。

您需要通过
-require
,以便加载ppx。此外(特定于此驱动程序),您需要使用
-require sexplib
和手动
打开sexplib.Std
在作用域中传递其运行时:

% utop -require ppx_sexp_conv -require sexplib                  
utop # open Sexplib.Std;;
utop # type u = { a: int; b: float } [@@deriving sexp];;
type u = { a : int; b : float; }
val u_of_sexp : Sexplib0.Sexp.t -> u = <fun>
val sexp_of_u : u -> Sexplib0.Sexp.t = <fun>
%utop-需要ppx\u sexp\u conv-需要sexpliblib
utop#open Sexplib.Std;;
utop#类型u={a:int;b:float}[@@dering sexp];;
类型u={a:int;b:float;}
sexp的值u\u:Sexplib0.sexp.t->u=
val sexp_of_:u->Sexplib0.sexp.t=

谢谢你,你的答案是有效的,唯一的问题是它需要安装这里解释的ppx_派生包:而且,它只对
utop-require ppx_sexp_conv
有效,而不是
open Sexplib.Std
,我可以
open Core
open Base
。啊,对了。谢谢你提供的额外信息。实际上,有几种方法可以使用此衍生工具。