v0.12.0 - 27 August 2023
Fixes the Lisp compiler setup on Windows, running python_actr with Python 3.11, and several other issues. It also adds some new language features for request parameters and printing, adds some new gactar commands for updating the virtual environment and listing module information, and adds some more option selection to the web UI.
Added
-
Add new
env update
command to the gactar tool (#388)This has options to update the Python version in the venv as well as the pip packages from the requirements.txt files. Use
--dev
to include development packages.Examples:
$ ./gactar env update --python $ ./gactar env update --pip $ ./gactar env update --all --dev
-
Add ability to print buffers and buffer slots. (#385)
Examples:
print retrieval print retrieval.word
-
Handle the
recently_retrieved
request parameter on the retrieval buffer. (#347)-
Specified using
with
in a production like this:recall [item: * ?group] with (recently_retrieved nil)
-
Valid values are
t
,nil
, andreset
. -
Only the vanilla framework supports all values. pyactr only supports
nil
, while python_actr doesn't support request parameters at all.
-
-
{web} Now allows selection of logging level & toggling of trace activations in the UI. (#343)
-
New command-line command
module
outputs information about modules. (#329, #332) Currently includes two subcommands:info [name]
outputs detailed info about a module - name, version, description, any buffers, and any parameters.name
can be a space-separated list of modules orall
.list
outputs the list of modules - name, version, and description
Changed
-
The debug flag is now a list of debug options rather than just a boolean. (#373)
Valid options are:
exec
: output the exec commands which run the frameworkslex
: output the lexical tokens for the amod fileparse
: output the parse tree for the amod file
-
{ccm} Change the underlying package to a fork of python_actr. The original wasn't being updated, so I created a new pip package called actr which still uses
python_actr
as its Python package name. (#372) -
Spreading activation is now allowed on any buffer and is specified in the module init section. (#355, #360, #368)
-
spreading_activation
was removed from thegoal
module in favour of declaring it on thegoal
buffer. -
Buffer options are specified in a module's config like this:
modules { memory { max_spread_strength: 0.9 retrieval { spreading_activation: 0.5 } } }
-
-
{pyactr} If logging is
min
, turn off simulation trace. (#349) -
Replace the magic internal
_status
chunk with proper support in the language. (#337, #338, #350)-
Buffer state matches now take the form
buffer_state <buffer> <state>
:buffer_state retrieval empty
-
Valid buffer states are
empty
&full
. -
Module state matches now take the form
module_state <module> <state>
:module_state memory error
-
Valid module states are
busy
,error
, &free
.
-
-
{vanilla} ACT-R was updated to version 7.27.7. (#308)
Fixed
- {pyactr} Remove redundant warnings about print statements. (#384)
- {pyactr} Fix setting of finst size. It is set on the retrieval buffer, not on the memory module. (#379)
- Defaults to 0 in pyactr, but 4 in ACT-R, so change it to match ACT-R if it is not set.
- {vanilla} The Clozure Common Lisp compiler was fixed and now downloads and runs on Windows. (#369, #371)
- {web} The UI wasn't properly saving/restoring the list of selected frameworks. (#343)
- {web} If the user ran with a framework selected and selected the code or result tab for it,
then turned off that framework and ran again, the tabs would be in a strange state.
Instead, select the main tab if the tab no longer exists. (#343) - Improved some error messages.
Full Changelog: v0.11.0...v0.12.0