gpt4 book ai didi

OCaml sexplib,如何定义自定义 to_sexplib 函数?

转载 作者:行者123 更新时间:2023-12-01 05:25:08 26 4
gpt4 key购买 nike

我正在使用 with sexp自动生成 s-exp 函数的语法。

问题是我用 sexplib 打印的数据结构有一些递归指针,打印最终会导致堆栈溢出。

所以我需要覆盖一个 to_sexp 函数并让它只返回 "(SomeRecursiveData)" , 我怎样才能做到这一点 ?

注意:我的数据定义形式如下:

type somedata ...
and someotherdata ...
and this_is_problematic_recursive_data
and ....
with sexp

最佳答案

我不能说我完全理解你的问题,但如果函数 to_sexp 不是交叉递归的(即 let rec to_sexp = ... 而不是 let rec to_sexp = ..... and foo = .... calls to_sexp somewhere..... )你可以试试这个技巧:

module A = struct type t with sexp end

module B = struct
include A
let to_sexp = .... your code ...
end

关于OCaml sexplib,如何定义自定义 to_sexplib 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14355509/

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