<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=Generator content="Microsoft Word 10 (filtered)">

<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I don&#8217;t think that the constraint manager really
evaluates constraints in the order of their priority.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I have two priority-1 constraints that need to be checked
before all others, because if those two constraints evaluate to false then the
other constraints will crash gme.&nbsp; Well, no matter what priority I make
the other constraints, gme crashes.&nbsp; If I delete the lower-priority
constraints, gme does not crash.&nbsp; If I turn my priority-1 constraints into
constraint functions and then call them as part of the lower-priority
constraints as pre-conditions, then gme does not crash.&nbsp; But I&#8217;m
going to have a hard time finding every case where I need to check these pre-conditions
and inserting the necessary function calls.&nbsp; I&#8217;m going to miss some
and gme is going to soundlessly crash when the constraint manager goes into an
infinite loop.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I think that if the constraint manager would just check my
priority-1 constraints first and then stop checking constraints if they
evaluate to false, my life would be much easier.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Also, if the &#8220;implies&#8221; statement used
short-circuit evaluation, it would make my life easier.&nbsp; For instance if
you say &#8220;A implies B&#8221;, and A is false, then don&#8217;t check B.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Finally, it would be good if some priority levels beyond
level-1 could result in critical evaluations.&nbsp; Assuming that the
constraint manager eventually checks constraints in priority order as I
described above, it would be good to be able to specify an evaluation order
among critical constraints.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>--Matt </span></font></p>

</div>

</body>

</html>