<br><br><div class="gmail_quote">On 9 February 2011 19:54, jwillans2 <span dir="ltr"><<a href="mailto:james.willans@ceteva.com">james.willans@ceteva.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
> rule "example"<br>
> when<br>
> $op : ObjectProvider()<br>
> Object(slot = "value") from op.eval()<br>
<br>
Because getting the value returned by op.eval() is extremely expensive and<br>
should only be done if this component of the rule is evaluated (assuming<br>
that the rule has a more complex pattern implicating other types).<br>
<br></blockquote><div><br>Calling $op.eval() (don't call it eval!) being expensive is a good reason for keeping the returned value in Working Memory :-)<br><br>You can have one rule that determines whether it is required to call $op.eval() and do the inserts and another one that uses the inserted facts.<br>
-W<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thanks,<br>
<br>
James<br>
<font color="#888888"><br>
--</font></blockquote></div><br>