From e604786dd0a020bd4998076f6be31e6c9ae167a6 Mon Sep 17 00:00:00 2001 From: Aaron Mininger Date: Wed, 2 Oct 2024 13:37:27 -0500 Subject: [PATCH] Update manual with info on LTI aliases --- ManualSource/manual.tex | 2 ++ ManualSource/smem.tex | 23 +++++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ManualSource/manual.tex b/ManualSource/manual.tex index 37e6cc8..95f4aa5 100644 --- a/ManualSource/manual.tex +++ b/ManualSource/manual.tex @@ -126,6 +126,8 @@ %\usepackage{caption} %\usepackage{fancyvrb} +\usepackage{nameref} + \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} diff --git a/ManualSource/smem.tex b/ManualSource/smem.tex index d9edc21..229142d 100644 --- a/ManualSource/smem.tex +++ b/ManualSource/smem.tex @@ -130,10 +130,29 @@ \subsection{User-Initiated Storage} \end{verbatim} Unlike agent storage, declarative storage is automatically recursive. -Thus, this command instance will add a new long-term identifier (represented by the temporary 'arithmetic' variable) with three augmentations. +Thus, this command instance will add a new long-term identifier (represented by the temporary `arithmetic' variable) with three augmentations. The value of each augmentation will each become an LTI with two constant attribute/value pairs. Manual storage can be arbitrarily complex and use standard dot-notation. -The add command also supports hardcoded LTI ids such as \soar{{@}1} in place of variables. + +The \soar{add} command also supports two methods for hardcoding LTIs. +You can use an integer, such as \soar{{@}123}, which will be the literal ID in semantic memory. +You can also use a string, such as \soar{{@}table}, which defines a name, or alias, for an LTI. +This is purely a user convenience; it allows you to refer to an LTI by name +or connect the same LTI across different \soar{add}s or files. + +For Example: + +\begin{verbatim} +smem --add { + (@red ^name red ^is-a color) +} +smem --add { + ( ^word rouge ^concept @red) +} +\end{verbatim} + +These aliases are not visible to the agent and cannot be used in productions. +However, they can be used in other CLI commands, such as \nameref{print}. \subsection{Storage Location} \index{smem!storage}