1. Code the MainLoop module -- http://ai.neocities.org/MainLoop.html
Code the MainLoop in COBOL. Use either an actual loop with subroutine calls, or make a ringlet of perhaps object-oriented module stubs, each calling the next stub. Provide the ESCAPE key or other mechanisms for the user to stop the AI.
2. Code the Sensorium module or subroutine -- http://ai.neocities.org/Sensorium.html
Start a subroutine or module that is able to sense something coming in from the outside world, i.e., a key-press on the keyboard.
3. Stub in the EnThink module for English thinking -- http://ai.neocities.org/EnThink.html
4. Initiate the AudInput module for keyboard or acoustic input.
Drop any [ESCAPE] mechanism down by one tier, into the AudInput module, but do not eliminate or bypass the quite essential Sensorium module, because another programmer may wish to specialize in implementing some elaborate sensory modality among your sensory input stubs. Code the AudInput module initially to deal with ASCII keyboard input. If you are an expert at speech recognition, extrapolate backwards from the storage requirements (space and format) of the acoustic input of real phonemes in your AudInput system, so that the emerging robot Mind may be ready in advance for the switch from hearing by keyboard to hearing by microphone or artificial ear.
5. The TabulaRasa loop.
Before you can create an auditory memory AudMem subroutine for storing input from the keyboard, you may need to code a "TabulaRasa" loop that will fill the mental memory of the AI with blank engrams, thus reserving the memory space and preventing error messages about unavailable locations in the AI memory.
6. MindBoot English +/- Russian bootstrap -- http://ai.neocities.org/MindBoot.html
The knowledge base (MindBoot) module makes it possible for the Strong AI Mind to begin thinking immediately when you launch the more advanced AI program. Here we stub in the EnBoot subroutine with an English word or two before the AudMem module begins to store new words coming from the AudInput module. The EnBoot stub shows us that the first portion of the AI mental memory is reserved for the innate concepts and the English words that express each concept. If you use the same Unicode that Perl enjoys to create a Strong AI Mind in Arabic, Chinese, Hungarian, Indonesian, Japanese, Korean, Swahili, Urdu or any other natural human language, you will need to create a bootstrap module for your chosen human language.
7. AudMem (Auditory Memory) -- http://ai.neocities.org/AudMem.html
Into the auditory array that was filled with blank spaces by the TabulaRasa sequence and primed with some bootstrap content by the EnBoot or MindBoot sequence, insert some new memories with the AudMem auditory memory module. Modify the AudInput module to prompt for English words and modify the EnThink module to display words stored in memory as if they were a thought being generated in English (or in your chosen natural human language).
8. NewConcept Module -- http://ai.neocities.org/NewConcept.html
The NewConcept module creates a new concept for any unrecognized word in the input stream, even a misspelled word entered by mistake. In Symbolic AI, each word of natural language is the symbol of a concept, and as such is the key to accessing the concept. Of course, a recognized image may also grant access to a concept.
9. EnParser English Parsing Module -- http://ai.neocities.org/EnParser.html
The EnParser (English parser) module does not so much determine the part of speech of a word of input, but more importantly it assigns to an input word its grammatical role in the complete phrase being processed during Natural Language Understanding.
10. InStantiate -- -- http://ai.neocities.org/InStantiate.html
The InStantiate module creates a new instance or node of a concept in Symbolic AI when a word of input activates the concept. The created instance is subject to change by the possibly delayed action of the English EnParser or Latin LaParser or Russian RuParser module, because Natural Language Understanding must often wait for the end of an idea before the whole idea can be understood.
11. AudRecog auditory Recognition Module -- http://ai.neocities.org/AudRecog.html
The AudRecog module for auditory recognition recognizes various forms of a word, such as singular or plural nouns, or verbs with various inflected endings.
12. OldConcept Module -- http://ai.neocities.org/OldConcept.html
If the AudRecog module recognizes a particular word, then the AudInput module calls the OldConcept module to create a new instance of the previously known concept. If a word is not recognized, AudInput calls the NewConcept module to create a new concept for the word as a symbol.
13. SpreadAct Spreading Activation Module -- http://ai.neocities.org/Spreadact.html
The SpreadAct module for Spreading Activation performs both simple spreading activation between concepts and also an extremely sophisticated role of responding to various input queries posed by human users.
14. PsiDecay -- -- http://ai.neocities.org/PsiDecay.html
The PsiDecay module lets the activation on "Psi" concepts decay gradually over time, so that mind-modules which impose or spread activation may operate more effectively and so that artificial Consciousness may emerge as the seearchlight of attention shifts from one highly activated concept or sensation to other highly activated concepts or sensations.
15. Speech Module -- http://ai.neocities.org/Speech.html
The Speech module fetches characters from a starting point in auditory memory and displays the characters on-screen until a blank space occurs to signify the end of the word stored in memory.
16. Indicative -- http://ai.neocities.org/Indicative.html
The Indicative Mood module, as opposed to the Imperative Mood module for expressing commands, calls linguistically generative modules such as EnNounPhrase and EnVerbPhrase to express a thought indicating an idea or a belief.
17. EnNounPhrase English Noun-Phrase Module -- http://ai.neocities.org/EnNounPhrase.html
The English noun-phrase module selects the most activated noun-concept to be the subject of a phrase or sentence.
18. ReEntry -- http://mind.sourceforge.net/reentry.html
19. EnVerbPhrase English Verb-Phrase Module -- http://ai.neocities.org/EnVerbPhrase.html
The English verb-phrase module fetches from memory a verb that has basically been pre-ordained to be expressed as the verb in a Subject-Verb-Object (SVO) phrase or sentence. EnVerbPhrase also calls a module like EnVerbGen to generate an inflected form of an indicated verb. EnVerbPhrase is designed with a view to calling the VisRecog module to supply the English word for the visually recognized object of the action of a verb, such as in a sentence like "I see... (a dog)."
20. EnAuxVerb English Auxiliary Verb Module -- http://ai.neocities.org/EnAuxVerb.html
The English auxiliary-verb module calls auxiliary verbs such as "do" or "does" for use in the generation of such sentences as a negated idea, such as "God does not play dice."
21. AskUser Module -- http://ai.neocities.org/AskUser.html
The AskUser module works in conjunction with the logical InFerence module to ask a human user to confirm or deny a logical inference being proposed inside an AI Mind.
22. ConJoin Module -- http://ai.neocities.org/ConJoin.html
The ConJoin module inserts a conjunction during the generation of a compound thought. For instance, if an AI Mind has two or more higjly activated subjects of thought, the ConJoin module will insert the conjunction "and" to join two active ideas together.
23. EnArticle Module -- http://ai.neocities.org/EnArticle.html
The English article module inserts the article "a" or the article "the" before a noun in a sentence being generated.
24. EnAdjective Module -- http://ai.neocities.org/EnAdjective.html
The English adjective module recalls and inserts an adjective during the generation of a thought.
25. EnPronoun Module -- http://ai.neocities.org/EnPronoun.html
The English pronoun module replaces a noun with a pronoun.
26. AudBuffer Module -- http://ai.neocities.org/AudBuffer.html
The auditory buffer module stores a word in memory for transfer to the OutBuffer module for inflectional processing.
27. OutBuffer Module -- http://ai.neocities.org/OutBuffer.html
The OutBuffer module holds a word in a right-justified framework where the ending of the word may be modified by a module like the EnVerbGen module for generating a required English verb-form.
28. KbRetro Module -- http://ai.neocities.org/KbRetro.html
The KbRetro module retroactively adjusts the knowledge base (KB) of the AI in response to user input responding to a question from the AskUser module.
29. EnNounGen English-Noun Generating Module
The English noun-generating module shall modify a singular English noun into its proper plural form by adding "s" or "es".
30. EnVerbGen EnGlish Verb Generating Module -- http://ai.neocities.org/EnVerbGen.html
The verb-generation module operates when the verb-phrase module fails to find a needed verb-form in auditory memory.
31. InFerence Module -- http://ai.neocities.org/InFerence.html
The InFerence module engages in automated reasoning with logical inference. For instance, if the user inputs 'John is a student," the AI may infer the possibility that John reads books, The AskUser module asks the user, "Does John read books?" Depending on a "yes" or "no" answer, the KbRetro module retroactively adjusts the knowledge base (KB), either discarding the unwarranted inference or by leaving intact a true inference or inserting "not" into a negated inference such as "John does not read books."
32. EnThink English Thinking Module -- http://ai.neocities.org/EnThink.html
The English thinking module calls such subordinate modules as the Indicative module for a declarative sentence or the InFerence module for automated reasoning.
33. Motorium Robot Motor Memory Module -- http://ai.neocities.org/Motorium.html
As soon as you have sensory memory for audition, it is imperative to include motor memory for action. The polarity of robot-to-world is about to become a circularity of robot - motorium - world - sensorium - robot. If you have been making robots longer than you have been making minds, you now need to engrammatize whatever motor software routines you may have written for your particular automaton. You must decouple your legacy motor output software from whatever mindless stimuli were controlling the robot and you must now associate each motor output routine with memory engram nodes accreting over time onto a lifelong motor memory channel for your mentally awakening robot. If you have not been making robots, implement some simple motor output function like emitting sounds or moving in four directions across a real or virtual world.
34. Volition module for robot free will -- http://ai.neocities.org/Volition.html
In your robot software, de-link any direct connection that you have hardcoded between a sensory stimulus and a motor initiative. Force motor execution commands to transit through your stubbed-in Volition module, so that future versions of your thought-bot will afford at least the option of incorporating a sophisticated algorithm for free will in robots. If you have no robot and you are building a creature of pure reason, nevertheless include a Volition stub for the sake of AI-Complete design patterns.
35. Imperative -- http://ai.neocities.org/Imperative.html
The Imperative Mood module, called by the free-will Volition module, issues commands such as "Teach me something" to the human user.
36. The SeCurity module -- http://github.com/kernc/mindforth/blob/master/wiki/SeCurity.wiki
The SeCurity module is not a natural component of the mind, but rather a machine equivalent of the immune system in a human body. When we have advanced AI robots running factories to fabricate even more advanced AI robots, let not the complaint arise that nobody bothered to build in any security precautions. Stub in a SeCurity module and let it be called from the MainLoop by uncommenting any commented-out mention of SeCurity in the MainLoop code. Inside the new SeCurity module, insert a call to ReJuvenate but immediately comment-out the call to the not-yet-existent ReJuvenate module. Also insert into SeCurity any desired code or diagnostic messages pertinent to security functions.
38. Spawn -- http://ai.neocities.org/Spawn.html
The Spawn module issues commands to the operating system to make copies of an AI Mind that include experiential memories up to the point of the spawning of each new AI Mind.
39. MetEmPsychosis -- http://ai.neocities.org/MetEmPsychosis.html
The module of MetEmPsychosis or soul travel is designed to spawn a remote copy of an AI Mind while immediately deleting the previous version of the software and memories so that the remote new version of the AI Mind is effectively the same AI traveling across cyberspace in a metastatic process akin to mind uploading.