增加SML/NJ中的打印深度

hig*_*der 17 sml smlnj

我试图让SML/NJ在顶层打印出一个结果,而不是在任何地方放置#符号.

根据一些旧的文档(以及2001年该新闻组的帖子),应该可以使用 Compiler.Control.Print.printDepth

但是,在SML/NJ版本110.7上,这只是一个错误:

- Compiler.Control.Print.printDepth := 100;
stdIn:1.1-30.8 Error: unbound structure: Control in path Compiler.Control.Print.printDepth
Run Code Online (Sandbox Code Playgroud)

Jes*_*erg 17

你将来可能不会更精确.例如,您可以提供一些示例输出以及指向上述位置的链接.

如果我理解你的问题是正确的,那么下面的最后一行是你的问题?(代码片段

- datatype tree = leaf | node of int * tree * tree;
datatype tree = leaf | node of int * tree * tree 

- val t = node (1, node (2, node (3, leaf, leaf), leaf), leaf);
val t = node (1,node (2,node #,leaf),leaf) : tree 
Run Code Online (Sandbox Code Playgroud)

然后Control.Print结构是您正在寻找的.所以只需放下 Compiler部件并使用即可

Control.Print.printDepth := 100;
Run Code Online (Sandbox Code Playgroud)

请注意,这是特定于SML/NJ的,而不是ml-yacc.