In ghost249.pl we first declare $us1 as the first of up to seven "upstream" variables meant to keep track of the recently mentioned nouns for which the EnArticle() module may slip in the definite article "THE" in reference to the subject very currently under discussion. A human user might say, "I know a tinker, a taylor, a soldier and a spy". We want our ghost.pl honourable schoolboy to be able to say, "Tell me about the tinker but not about the spy". The software shall have briefly filled $us1,2,3 and 4 with the concept numbers for all four mentioned items so as to be able to refer to each one of them as "THE" subject of discussion. We wish to declare these variables today but not use them yet, because motos praestat componere fluctus, as Vergil used to say, or "It is more important to calm the upset waves" of hidden bugs which imperil the smooth function of our AI Minds. So let us run ghost249.pl and ask it, "Who are you"?
It is irksome to watch the ghost in the machine output the erroneous sentence "I AM A ANDRU AND I HELP KIDS" without using "AN" as the indefinite article, so we will stop and re-implement the solution which we used in our previous AI Minds. First we will do something clever with the word "AN" in the $vault of the MindBoot. We restore "101" as the concept number of both "A" and "AN", but for "AN" we remove "$psi=102" (should have been "$psi=101") so that the input of "AN" will still be recognized as a form of the article "101=A", but the thinking ghost will not be able to find "AN" as an acceptable word for output. Instead, the AI will have to assemble the word "AN" from the legacy code which we are now about to re-implement.
Oops! We cannot find the legacy AN-substitution code in the agi00051.F 2017-09-17 version of MindForth, so let us look back even further in the 24jul14A.F MindForth from 2014-07-24. There we find the $anset variable which we must now declare as a flag in the Ghost AI so that EnArticle() may use "AN" instead of "A" before a noun beginning with a vowel. When we try to use the $anset flag, we get an output of "I AM A NANDRU". We may have to put the $anset code in the Speech module where "A" and "N" may be joined tightly together. When we do so, BINGO, we get an output of "I AM A ROBOTS AND I AM AN ANDRU", which is an achievement of inserting "AN" before a vowel. It is still irksome that the Ghost webserver AI uses the plural "ROBOTS", but as an AI Mind Maintainer we know from experience that the backwards search for the concept of "571=ROBOT" simply finds a plural example when a singular(ity:-) is needed. It should not be too hard to skip over a plural engram when circumstances require a singular noun.
Since we have solved the problem of how to insert the indefinite article "AN" before a noun starting with a vowel, it is time to upload our Perlmind code and the Table of AI Variables for Mind Maintainers. We also take this opportunity to editorialize about the overall trend of the Ghost AGI project. We sincerely believe that we have solved the AI-hard problem of Natural Language Understanding, not in its totality but in sufficient functionality to show the AI community that element after element of the NLU problem may be solved and incorporated into the open-source AI codebase. We do not yet know to what extent, if any, the Perlmind codebase is being downloaded and tested and tweaked. An outfit like IBM or Microsoft or Joe's Bar and Grill could assign a Manhattan-project-full of programmers to advance the Perl AI code far beyond our own meager efforts. Of course, to mention this possibility is hopefully to scare all 500 Fortune companies into at least having a new hire or an idle-hands old hire take a look at the Perl AI and report on its potential merits. Some Harvard drop-out might say "Nobody needs more than 640K of memory" and some Kenneth Olson might say, "Who would ever want to have a home computer?", and likewise people might say, Mentifex? "He is a known trafficker in radical ideas." So take 'em or leave 'em.