The ValuePrinter structure controls how values are printed in the MLWorks environment. For instance, you can force a listener to elide all lists it prints after the nth element. By setting maximumSeqSize to 3, you can enter
MLWorks> ["a", "b", "c", "d"];
and the listener will print
val it : int list = ["a", "b", "c", ..]
The ValuePrinter structure has the skeletal signature:
structure ValuePrinter: sig val showFnDetails: bool option val showExnDetails: bool option val floatPrecision: int option val maximumSeqSize: int option val maximumStringSize: int option val maximumDepth: int option val maximumRefDepth: int option val maximumStrDepth: int option end end
The TTY environment (UNIX only) is governed by a single set of ValuePrinter values, while the GUI environment sophisticates the value-printing feature by giving listeners, compilation managers, and the inspector each their own set. See the MLWorks User Guide for details of how this works in the GUI.