A student at KCL, Enzo Bestetti, has been doing a systematic analysis of Poly/ML's lexer. There weren't any serious problems but he did mention something that made me look more closely.
It turns out that Poly/ML has been accepting symbolic identifiers, those made up of the symbols +, - etc, for structure, signature and functor names. It looks as though this changed between SML90 and SML97 and I hadn't realised. The SML90 definition explicitly includes symbolic identifiers for signature and functors and doesn't appear to rule them out for structures. The SML97 restricts them to alphanumeric only but I can't see this included in the list of changes in Appendix G which is why it slipped through.
I'm proposing to restrict module names to alphanumeric to bring Poly/ML into line with the SML97 Definition. I can't imagine that this will affect anyone but I thought I'd mention it.
David