【发布时间】:2013-01-12 07:33:54
【问题描述】:
我使用的是版本 4 的 Ocaml。当我以交互方式定义某种类型时,解释器会立即打印出该类型的字符串表示形式:
# type foo = Yes | No;; <-- This is what I entered
type foo = Yes | No <-- This is what interpreter bounced
但是在我输入更多定义后,有时我想再次查看该类型的文本表示。
在 Haskell 中,我可以输入 ":t foo"。
如何在 Ocaml 中做到这一点?
【问题讨论】:
-
这是个好问题。据我所知,没有办法。
-
不幸。显然,在我输入表达式后解释器立即发出的字符串是一种“编译日志”,但之后信息丢失了..
-
信息肯定不会丢失,因为需要进一步编译。您是否在 Ocaml 列表中询问过,为什么不询问?
-
从更一般的角度来看,您可能想要尝试更高级的工具,而不仅仅是顶级工具。在 emacs、Typerex、OcalIDE 等中有 Tuareg 模式。其中一些提供了跳转到定义类型 foo 的位置的功能,这可能是回答您问题的一种方式。
-
如果您还没有使用它,我强烈建议您使用 utop 作为您的顶级而不是 OCaml 附带的标准,
标签: ocaml