<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
<STYLE>@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: windowtext; FONT-FAMILY: Arial
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2>Hi,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2>To the short-circuit evaluation problem: have you tried to
enable short-circuit logical operators? (File/Display
Constraints/Settings)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2>Also, make sure that "Evaluation ends after the first
violation" is set on this page. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2>--</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2>peter</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=618220114-22042004><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV><BR>
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B>
gme-users-bounces@list.isis.vanderbilt.edu
[mailto:gme-users-bounces@list.isis.vanderbilt.edu] <B>On Behalf Of
</B>Matthew J. Emerson<BR><B>Sent:</B> Sunday, April 18, 2004 7:16
AM<BR><B>To:</B> gme-users<BR><B>Subject:</B> [gme-users] various complaints
about constraints<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I don’t think that the constraint
manager really evaluates constraints in the order of their
priority.</SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></FONT> </P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; 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. Well, no
matter what priority I make the other constraints, gme crashes. If I
delete the lower-priority constraints, gme does not crash. 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. But I’m going to have a hard time finding every case where I need
to check these pre-conditions and inserting the necessary function
calls. I’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 face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></FONT> </P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; 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 face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></FONT> </P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Also, if the “implies” statement
used short-circuit evaluation, it would make my life easier. For
instance if you say “A implies B”, and A is false, then don’t check
B.</SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></FONT> </P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Finally, it would be good if some
priority levels beyond level-1 could result in critical evaluations.
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 face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"></SPAN></FONT> </P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">--Matt
</SPAN></FONT></P></DIV></BLOCKQUOTE></BODY></HTML>