[MLton] Added completion to esml-mlb-mode

Matthew Fluet fluet@cs.cornell.edu
Fri, 19 Aug 2005 13:46:28 -0400 (EDT)


> > >   forceUsed {false|true}
> > 
> > This may not be what you want. The forceUsed annotation
> > doesn't actually allow an argument:
> ...
> > An alternative (perhaps better?) would be to change the syntax
> > of forceUsed to require an argument (using makeBool).
> 
> Sounds good to me.

Related, the expert annotation ffiStr takes a <longid> argument, not a 
"NONE | SOME <longid>" argument.

With regards to forceUsed, remember that it does not mean to mark every
identifier encountered in the body of the annotation as used; instead, it
means to mark as used all identifiers in scope at the end of the 
annotation as used.

In fact, ffiStr is somewhat the same -- it "does something" at the end of 
the annotation scope, rather than during the elaboration of the body of 
the annotation.

That difference in behavior is why it might make sense to leave their
syntax as "action" annotations rather than "toggle" annotations.