Skip to content

u5_grouped bug? #4

@asmaloney

Description

@asmaloney

In the Lisp ACT-R version of the "grouped" tutorial, several productions use the following pattern:

(p harvest-first-item
   =goal>
      isa      recall-list
      element  first
      group    =group
   =retrieval>
      isa      item
      name     =name
  ==>
   =goal>
      element  second
   +retrieval>
      isa      item
      group    =group
      position second 
      :recently-retrieved nil
   !eval! ("grouped-response" =name))

The CCM translation is doing this:

  def harvest_first_item(focus='item pos:first groupname:?groupname',retrieval='name:?x'):
    self.parent.say(x)
    focus.modify(pos='second')
    memory.request('parent:?groupname position:second')
    retrieval.clear()

The :recently-retrieved nil in the Lisp version doesn't mean to clear the buffer - it's a request parameter. From the ACT-R manual:

In addition to specifying slots in the request one may also include additional labels called request parameters. A request parameter is used like a slot in the request, but it is not actually the name of a slot. It is indicated with a Lisp keyword which has been specified by the module as allowed for use with its buffer to provide additional information in a request without having to use slots in chunks.

In the :recently-retrieved nil case, it's a request to the buffer to check if the item has been retrieved recently or not.

The original also uses "finst" which is related to this check.

It seems like this is a bug in the translation?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions