编写类型为'a - > string的函数

FCo*_*FCo 6 ocaml

出于调试目的,我想在OCaml中有一个函数转换为字符串任意类型,调试器目前有一个,但是有一个很酷.

sexplib库是完美的,但事实是我不能修改我需要添加的所有类型with sexp,我也不能使用camlp4.

有这样的功能吗?(它不会出现在生产代码上,所以我接受了肮脏的解决方案)

像Haskell的Show类型类似的东西正是我的意思.

谢谢你的时间

Mic*_*and 5

Batteries Included中Std模块提供了将任意类型转换为可读字符串的功能.它有点受限 - 因为它不知道类型,它不能正确打印变体类型的构造函数并用数字替换它们 - 但它仍然非常有用.由于类型信息在运行时不可用,这与您可以做的一样好.调试器和顶层使用编译器技巧来获得更好的表示,但是如果不是不可能在通用库中执行则很难.dump

我似乎还记得在某个地方看到一个更复杂的转储库,但我不记得在哪里.