
4.7.5 The Language structure
Shell.Options.Language
val opOptional: bool option
true, set op as optional when unambiguous. The Definition of Standard ML declares that when an operator identifier is used as something other than an operator -- for example, using an operator identifier as a variable identifier as well -- it must be preceded by the reserved word op. However, there are cases in which the usage is unambiguous, and op is therefore redundant.
opOptional for an unambiguous datatype:
MLWorks> infix &&&; MLWorks> datatype Foo = &&&; MLWorks>
Need an op for &&&" appears. The evaluation fails because &&& is not prefixed with an op. However, it is clearly an unambiguous case. With opOptional set to true, MLWorks accepts it:
MLWorks> set (opOptional, true); val it : unit = () MLWorks> datatype Foo = &&&; datatype Foo = &&& val &&& : Foo MLWorks>
op with this option set to true will produce a warning, reminding you that it is unnecessary.

Generated with Harlequin WebMaker