File Release Notes and Changelog
Release Name: 0.2
Notes:
This release fixes several bugs with the TinySoar rule parser and runtime,
and includes some minor enhancements.
Notable changes include:
1. Changed the ^motor-n annotation on the output link to take symbolic
constants: `forward', `reverse', `brake', and `off' instead of an integer
constant. This allows you to brake the motor, as opposed to just letting it
free-wheel.
2. Minor tweaks to decision cycle to properly support Soar-8.2 operation
reconsider semantics; specifically, explicit reconsider preferences are not
required to terminate an operator.
Changes:
Removed the assertion in do_left_addition() requiring negative nodes to
have a non-null |wme|. Not sure why I thought I needed that.
Changed the ^motor-n annotation on the output link to take symbolic
constants: `forward', `reverse', `brake', and `off'.
Fix <a href="https://sourceforge.net/tracker/?func=detail&aid=507849&group_id=42131&atid=432196">bug 507849</a>, when doing right-removal on a negative node, we need
to iterate through the remaining right-memories for each token to see if the
token is still blocked.
Fix <a href="https://sourceforge.net/tracker/?func=detail&aid=507841&group_id=42131&atid=432196">bug 507841</a>: the value test is optional.
Fixed the parser so that we don't o-support when doing a negated test on
an ^operator attribute.
Fix a problem with o-rejects: if an o-reject is created and there's not slot
to apply it on, we crash!
Fix lexer to grok signed integer constants. Swap type and value bits in
symbol_t so that we handle signed integer constants correctly in other
parts of the code. Streamline symbol bit monkeying a bit.