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

Reply via email to