Share

TinySoar

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.