Skip to content

v0.12.0 - 27 August 2023

Compare
Choose a tag to compare
@asmaloney asmaloney released this 27 Aug 15:53
· 61 commits to main since this release

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, and reset.

    • 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 or all.
    • 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 frameworks
    • lex: output the lexical tokens for the amod file
    • parse: 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 the goal module in favour of declaring it on the goal 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