From: Peter S. <se...@di...> - 2001-10-09 18:35:06
|
Andreas, > OK, here you go. Don't be shocked: the list is quite exhaustive and > contains a lot of pedantic stuff. There are very few "major" issues. Thanks for the list. I believe the scarcity of major issues testifies to the amount of work and care that has gone into the Definition, and also reflects much feedback from thoughtful users and implementors. It would probably take five years to obtain similar quality in a new-style definition for a new language, and another five-ten years before implementations agree on the interpretation of the fine points. Reason enough not to destroy what we have. > During compiling this I also made a bunch of contrived test files to > see how implementations cope with some of the more obscure details This is a very useful idea, and the results comforting ... But, I don't understand why valrec.sml test case should raise Bind: val rec LESS = fn x => x (* will raise Bind *) and NONE as SOME = fn x => x val SOME = 1; According to rule (26), and as stressed in the comment to that rule, the identifier status may change in the recursive binding, so LESS, NONE and SOME are value variables, and the example is no different from this: val rec a = fn x => x (* will raise Bind *) and b as c = fn x => x val c = 1; Peter -- Department of Mathematics and Physics * http://www.dina.kvl.dk/~sestoft/ Royal Veterinary and Agricultural University * Tel +45 3528 2334 Thorvaldsensvej 40, DK-1871 Frederiksberg C, Denmark * Fax +45 3528 2350 |