Увеличение глубины печати в SML / NJ

Я пытаюсь заставить 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

person higherDefender    schedule 20.02.2011    source источник


Ответы (1)


Возможно, в будущем вы не захотите быть более точным. Вы можете, например, дать образец вывода и ссылку на то, где вы нашли вышеуказанное.

Если я правильно понимаю вашу проблему, то последняя строка ниже - ваша проблема? (фрагмент кода

- 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 

Тогда структура Control.Print - это то, что ты ищешь. Так что просто отбросьте часть Compiler и используйте

Control.Print.printDepth := 100;

Обратите внимание, что это специфично для SML / NJ, а не для ml-yacc как такового.

person Jesper.Reenberg    schedule 21.02.2011