To aid in the debugging of code produced by program generators such as Noweb, MLton supports comments with line directives of the form
(*#line l.c "f"*)
Here, l and c are sequences of decimal digits and f is the
source file. The first character of a source file has the position
1.1. A line directive causes the front end to believe that the
character following the right parenthesis is at the line and column of
the specified file. A line directive only affects the reporting of
error messages and does not affect program semantics (except for
functions like MLton.Exn.history
that report source file positions).
Syntactically invalid line directives are ignored. To prevent
incompatibilities with SML, the file name may not contain the
character sequence *)
.