NAME
    Soar::WM - Traverse Soar working memory dumps

VERSION
    version 0.02

SYNOPSIS
      use Soar::WM qw(wm_root_from_file);
      my $root = wm_root_from_file('/path/to/wme/dump');
      print $root->id; #probably prints S1

DESCRIPTION
    This module represents Soar's working memory. It can be used for
    traversing and manipulating WME dumps generated by Soar.

NAME
    Soar::WM - Perl extension for representing Soar working memory given a
    WME dump file

METHODS
  "new"
    Creates a new instance of Soar::WM. The arguments to this method are the
    same as those to wm_root.

  "get_wme"
    Argument: string working memory element ID ('S1', 'Z33', etc.); since
    WME ID's are always uppercase, this method is case insensitive.

    Returns a Soar::WM::Element instance representing the given ID.

  "wm_root_from_file"
    This is a shortcut for:

     wm_root(file=>$arg)

    It's single argument is the path to a WME dump file, or an opened file
    handle for one. It returns a Soar::WM::Element object representing the
    root of the given WME dump.

  "wm_root"
    This function reads in a Soar WME dump and returnes a Soar::WM::Element
    representing its root. It takes a named argument, file or text. Using
    "wm_root(file="path)> or "wm_root(file="$fileGlob)>, you can create an
    object given the path to a WME dump file.

    Using "wm_root(text="'(S1 ^foo bar)')>, you can create an object using a
    given WME dump text. If neither argument is specified, this function
    will wait for input from standard in.

  TO DO
    Currently there is no separate constructor for a Soar::WM object;
    instead, the only existing functions return the root of a Soar::WM
    object, which is an instance of Soar::WM::Element. Besides a separate
    constructor, one might find it useful to be able to grab any element of
    a Soar::WM object given its ID. I have not found this expedient, and so
    have not coded. If you really want it, just shoot me an email.

SEE ALSO
    The homepage for the Soar cognitive architecture is here:
    <http://sitemaker.umich.edu/soar/home>.

AUTHOR
    Nathan Glenn <garfieldnate@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2012 by Nathan Glenn.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

