a simpler cli
unfortunate naming
minor feature additions
full smem tutorial draft
minor edits/updates
next and previous commands now get status like the query command
first stab at an epmem tutorial
small edits; thanks to Justin for feedback
faster method of incrementally deallocating wma_decay_sets, which are used during forgetting to represent decay predictions. this change should help better manage memory growth with forgetting, which previously would have monotonically increased with the number of o-supported additions/cycle.
added working memory activation trace (right now outputs a log of relevant WME adds, removes, and activations)
removed an signed-unsigned comparison and a statement with no effect
typo in wma.h (was suppressed due to ifdef's
added max-goal-depth to the comamnds list
quit and exit are not soar commands - removed references
agent.h in unix format
suppress printing the command for diff, so the output can be directly read as a patch file
first shot at sqlite statement pooling (thanks justin). basic idea: for dynamically created queries (currently only applies to epmem), keep a store of prepared statements (grouped by parameterized sql) in order to save on memory allocation/deallocation, and especially sqlite preparation, which is known to be very expensive relative to other types of operations. committing in order to run some performance evaluation.
resurrected and generalized some old experimentation code to help evaluate epmem query performance across a variety of agents. all this is captured within a #define and should thus have no impact on regular users. when enabled, this code should support any agent that does not use epmem, and possibly those that do (kb.soar worked, but I haven't tried on any others). usage requires a rule that produces a structure under top-state epmem link (syntax described in the source) that defines a set of commands to evaluate, number of times to execute every command, output format, and output file location.
added optional mod for collecting data every x episodes
was applying mod to wrong counter