On 14 Dec 2009, at 18:33, David Matthews wrote: > Rob, > > Rob Arthan wrote: >> For what it is worth, I have attached a patch that fixes PolyML.install_pp. >> On reflection, if you withdraw it, I am going to have to write something >> similar of my own, because I can't see any other way of maintaining >> compatibility with both Poly/ML and SML/NJ. > > I realised that the bug was in the beginBlock function and I committed a fix > to 5.4 an hour or so ago. Was there a reason for the other changes that > weren't fixed by that? If we can agree on a small set of changes I'll > include them in the fixes-5.3 branch.
The old interface did not require a sequence of calls to the side-effecting functions to begin with a beginBlock and end with the matching endBlock. I think that what you have will raise an exception if this is not the case and if there is more than one call. My changes allow for a sequence of calls corresponding to a "pretty list" in the new regime rather than a single "pretty". On thinking about this some more, I realise that some of the large applications QinetiQ tackle may suffer performance problems because of the list appends in addEntry. If it is not too much trouble, I think it would be prudent to construct the "pretty list"s backwards and reverse them when an entry is popped off the stack or extracted at the end. Regards, Rob. _______________________________________________ polyml mailing list polyml@inf.ed.ac.uk http://lists.inf.ed.ac.uk/mailman/listinfo/polyml