I also find it strange that the manual section on print does not mention that it can print variables when run inside of a production. I find it pretty magical that this works. Does the command implementation detect that it's run inside a production, or does Soar translate the variable somehow before passing to the print call?
The failing print does not give a warning, as I believe it should. The section in the manual on
cmd
contains an example of printing<s>
, but does not mention the restriction to LHS variables: https://soar.eecs.umich.edu/soar_manual/03_SyntaxOfSoarPrograms/#user-defined-functions-and-interface-commands-as-rhs-actions.I also find it strange that the manual section on
print
does not mention that it can print variables when run inside of a production. I find it pretty magical that this works. Does the command implementation detect that it's run inside a production, or does Soar translate the variable somehow before passing to theprint
call?