Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 277

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>1.3 Bug fixes</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node3.html#section.m140.impl">&lt;&lt; Prev</A></TD><TD><A href="node1.html">- Up -</A></TD></TR></TABLE><DIV id="section.m140.fixes"><H2><A name="section.m140.fixes">1.3 Bug fixes</A></H2><P>A various number of small bug fixes have been incorporated to the new release. Notable ones are: </P><UL><LI><P><CODE>IsOdd</CODE> was incorrectly returning <CODE>false</CODE> when given an odd negative number. It now returns <CODE>true</CODE> as expected.</P></LI><LI><P>Weak dictionaries can now be finalized via other weak dictionaries. A fixpoint has to be computed in the garbage collector in order to determine which ones had to be finalized. This fixpoint computation has been added.</P></LI><LI><P>Unification is now fully <EM>incremental</EM>. Unifying streams no longer causes memory leaks, for instance. The unification algorithm has been fixed to handle all cases where a part of the unification cannot proceed immediately. So unifying <CODE>X|<SPAN class="variablename">Xs</SPAN>=Y|Ys</CODE> where <CODE>Xs</CODE> and <CODE>Ys</CODE> are read-only binds <CODE><SPAN class="variablename">X</SPAN>=Y</CODE>, and resumes the unification statement to <CODE><SPAN class="variablename">Xs</SPAN>=Ys</CODE>, which removes the reference to <CODE>X</CODE> and <CODE>Y</CODE>. The new implementation also handles gracefully record containing distributed variables: unifying <CODE>X#<SPAN class="variablename">Y</SPAN>=foo#bar</CODE> with <CODE>X</CODE> and <CODE>Y</CODE> distributed performs the distributed bindings <CODE><SPAN class="variablename">X</SPAN>=foo</CODE> and <CODE><SPAN class="variablename">Y</SPAN>=bar</CODE> <EM>in parallel</EM>, and no longer sequentially.</P></LI><LI><P>There were also some important bug fixes in the marshaler, which are orthogonal to the new distribution layer.</P></LI><LI><P>The executable <CODE>ozengine</CODE> can now belong to a directory whose path contains spaces. Similarly, functors compiled as executables can be run from a path different than <CODE><SPAN class="string">'.'</SPAN></CODE> using paths containing spaces.</P></LI></UL><P> </P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node3.html#section.m140.impl">&lt;&lt; Prev</A></TD><TD><A href="node1.html">- Up -</A></TD></TR></TABLE><HR><ADDRESS><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>