gpt4 book ai didi

syntax - 带有语法扩展的 OCaml 顶层

转载 作者:行者123 更新时间:2023-12-03 22:24:12 27 4
gpt4 key购买 nike

我不知道一般如何实现这一点,但为了清楚起见,我会特别询问一个实例:

Sexplib 对我来说看起来很有趣。我想玩弄它。我已经下载了它,安装得很好(反正我很确定)等等。我想在顶层使用“with sexp”语法扩展。我该怎么做呢?我发现的所有使用它的例子都假设你已经知道如何使用语法扩展来制作顶层和/或编译。

我对它的最佳拍摄是这样的:

ocamlmktop -I +site-lib/sexplib -pp "camlp4 -I +site-lib/sexplib pa_sexp_conv.cma" -o sexplib-top

当我运行这个顶层时,我可以 open Sexplib很好,但是当我尝试使用 with sexp 时语法扩展,出现语法错误。

最佳答案

已经是二十一世纪了 - 使用 ocamlfind :

        Objective Caml version 3.11.2

# #use "topfind";;
- : unit = ()

# #camlp4o;;
/usr/lib/ocaml/dynlink.cma: loaded
/usr/lib/ocaml/camlp4: added to search path
/usr/lib/ocaml/camlp4/camlp4o.cma: loaded
Camlp4 Parsing version 3.11.2

# #require "sexplib.syntax";;
/usr/lib/ocaml/unix.cma: loaded
/usr/lib/ocaml/bigarray.cma: loaded
/usr/lib/ocaml/nums.cma: loaded
/usr/lib/ocaml/num-top: added to search path
/usr/lib/ocaml/num-top/num_top.cma: loaded
/usr/lib/ocaml/sexplib: added to search path
/usr/lib/ocaml/sexplib/sexplib.cma: loaded
/usr/lib/ocaml/type-conv: added to search path
/usr/lib/ocaml/type-conv/pa_type_conv.cmo: loaded
/usr/lib/ocaml/sexplib/pa_sexp_conv.cmo: loaded

# type t = { x : int; y : float; } with sexp;;
type t = { x : int; y : float; }
val t_of_sexp__ : Sexplib.Sexp.t -> t = <fun>
val t_of_sexp : Sexplib.Sexp.t -> t = <fun>
val sexp_of_t : t -> Sexplib.Sexp.t = <fun>

关于syntax - 带有语法扩展的 OCaml 顶层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7438373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com