REVISION HISTORY
================
   BILLY v3.11 -  (6-28-2001)
                  **Rarely discovered bug fixed: executable (BILLY.EXE)
                    can now be renamed, and UDLP will be able to figure
                    that out and run the new name.
                  **Fixed problem of "###!!!###" sometimes showing up
                    in Billy's responses (this was an internal flag, not
                    intended to be used when talking to the user, that
                    leaked through in some cases).

   BILLY v3.1  -  (2-11-2001)
                  **New scripting flag allows Billy to reverse words like
                    "my" and "your" in his responses, if they are taken from
                    the user's input.
                  **If you say, "You're a...", Billy won't respond with
                    "You're a, too!" or the like.  He recognizes that a
                    noun follows and uses that.
                  **An "[X]" has been added to the upper-right of most
                    windows now.  You can click on that X to cancel
                    what you are currently doing without having to enter
                    data.  For instance, if you are changing Billy's name
                    and click on this, his name will stay as what it was
                    before.
                  **Fixed bug that when just <ENTER> was pressed, global
                    variables such as &botname and &username were not
                    plugged in.
                  **The "Create Mind" option now gives you COMPLETE control
                    over the personality you are creating, through the
                    Advanced mode option.  You can import your own
                    "memory banks", the formats for which are fully
                    documented in CREATE.TXT.
                  **"Don't say that" command added back in
                  **"xxx is not a noun" now documented :)
                  **Each mind file now has its own transcript file.
                  **Billy's greetings are now stored in a memory bank, and
                    so can be edited when you create a new mind.
                  **Emoticons ("smileys") are now stored in their own memory
                    bank rather than being hard-coded, so they can modified
                    in your own mind files.
                  **If you want to start Billy with a mind file other than
                    the default one, you can specify it from the command line
                    (if you're using DOS) by putting the mind file name as a
                    parameter.  So, to load Billy with a mind file called
                    "JILL.MND", you could type "billy jill.mnd".
                  **Removed some awkward contexts ("Do you enjoy using a lot
                    of words?") and added some new ones to BILLY.MND.
                  **New TEACH.EXE utility allows you to "teach" Billy from
                    a text file.
                  **Added a Table of Contents to the manual.
                  **Even though 3.1 adds a number of new memory banks,
                    it can still load mind files created with 3.0 by
                    "emulating" the missing memory banks.
                  **If the default mind file is missing, Billy looks for
                    BILLY.MND (if that isn't the default file) before
                    suggesting running INIT.EXE.
                  **Added the "-mouseoff" option for disabling mouse support,
                    as well the ability to use slash commands (in the event
                    that you disable the mouse).
                  **Billy now can see that a name refers to a person (and
                    can learn new names to look for).
                  **Now remembers topics of conversation in between
                    conversations.  This also allows for subject-tracking
                    during link mode.
                  **Billy now attempts to not repeat sentences he's already
                    said in a conversation.  Note the use of the
                    word "attempts".
                  **Billy will now never simply repeat what you said, except
                    in very extreme cases (like if that's the only thing he
                    knows how to say).
                  **Whoa, one bug in 3.0 I didn't catch until now is that Billy
                    actually recorded transcripts for linked conversations in his
                    own transcript file... and each line of the conversation was
                    treated like a separate chat, header and all.  Now, when you
                    combine this with TEACH, feeding Billy hundreds of lines of
                    text through UDLP2... uh oh...
                  **Fixed a bug that caused some sentences with reversed
                    pronnouns to not have punctuation.  Sound odd?  It was.
                  **Fixed a nasty general fault protection (error 216) problem
                    that only happened under a very strange circumstance, but
                    did so just enough to annoy the heck out of me.

   BILLY v3.0  -  (1/1/2001)
                  A complete rewrite of the Billy code, the 3.x generation
                  takes a dual-system approach to natural language generation
                  and processing.  One subsystem of Billy 3 uses a similar
                  ideology as that of Billy 2.  This system takes user
                  input and breaks it down to individual words, and is able
                  to identify certain parts of language.  It then uses this
                  knowledge to try and generate a set of pre-defined keywords
                  that should be included in the final response.  These
                  keywords are then given to the second subsystem.  This
                  system is based on a vastly improved and sped-up version of the
                  DAISY technology, and is able to analyze everything that has
                  ever been said to Billy, and so can synthesize a "free-form"
                  sentence of its own creation which contains the keywords and
                  has a high probability of being grammatically and
                  contextually intelligent.  Other improvements include an
                  ability to stay on subject during conversation, and
                  an enhanced system for answering questions and learning
                  facts.  This generation of Billy also introduces the
                  concept of "mind files" -- individual files which contain
                  all of the knowledge, language, and personality of a
                  particular AI construct and so can be easily transferred to
                  other users of Billy via the internet or disk.  This is
                  also the first Billy to use a mouse-driven interface.

   BILLY v2.21 -  (6/18/2000)
                  **Fixed bug that caused transcript file to record only
                    Billy's statements, not yours.  Oops!
                  **Now that I have a new e-mail address, changes have been
                    made in this file.

   BILLY v2.2  -  (5/19/2000)
                  **New "Tell me about..." command allows you to have
                    Billy tell you everything he has been taught about
                    a subject.
                  **Direct and reverse associations are now stored
                    separately in Billy's memory.  So, they can also
                    be independently removed.  What are direct and
                    reverse assocations?  For the statement "The sky is
                    blue", the direct association is that Sky is defined
                    by the word "blue."  The reverse association is that
                    the blue is defined by the word "sky."  The
                    reverse association is not always true, so now it
                    cane be removed without disrupting the direct.
                  **Associations can now be removed with "Don't say that"
                    in addition to saying "[Blah] is not [blah]."
                  **Billy has a new routine for typing which is more
                    human-like (it's the same one used in DAISY).
                  **Added the ability for the user to change Billy's name.
                  **Crashes less often now.  If an error occurs, Billy tries
                    to fix the problem.
                  **Fixed problem with intro facts not having pronouns
                    reversed.
                  **Fixed problem with intro facts sender data not always
                    being correct. ("[Someone] told me that...")
                  **Link Mode uses my newly developed UDLP2 standard.
                    I moved to this new standard because it allows for
                    the chat bots to take up more memory (my latest bot,
                    Daisy, took up more memory than the old UDLP1 allowed).
                    Now, Link Mode is initiated through an external
                    UDLP2 Shell.  Other advantages of UDLP2 are that
                    conversations can go as long as you want them to
                    (until you hit a key), and the bots' actual names
                    are used, rather than HOST and VISITOR.
                  **Varius new contexts added, and some new responses
                    added for old ones.

   BILLY v2.11 -  (2/14/2000)
                  Fixed bug that caused Billy to say "You's" instead
                  of "Your" when answering knowledge web related questions.

   BILLY v2.1 -   (1/30/2000)
                  **Rewrote the link mode, now uses UDLP (Universal
                    Dynamic Link Protocol).
                  **Billy now remembers who told him facts.
                  **Now knows the day of the week and the part of the
                    day, which can be used in the intro or when
                    leaving.
                  **Intro text now slightly more variable -- if Billy
                    has been told something about you, he'll say that.
                  **No longer gives milliseconds when asked for the
                    time.
                  **In addition to learning nouns, Billy now also
                    learns the sentence in which they were used, and
                    is able to plug other nouns into those sentences
                    in the future.
                  **Occassionally adds a smiley face to sentences.
                  **In addition to recognizing adjectives, Billy can
                    recognize modifiers.
                  **Parsing engine has been partially re-written,
                    it is now slightly more accurate and efficient.
                  **When taught facts, can now reverse words like
                    YOU and YOUR when the fact is repeated by Billy.
                    ("GREG IS YOUR PROGRAMMER",
                          => "GREG IS MY PROGRAMMER")
                  **Can change pronouns, such as changing HE to HIM,
                    when neccessary.
                  **User can now customize colors.
                  **Whole lot of various new responses added, for
                    both old and new contexts. Some awkward ones
                    removed ("Sweet deal!").

   BILLY v2.0.1 - (12/26/1999)
                  Fixed a bug which caused Billy to crash with a "Division
                  by zero" runtime error on some processors.  Also fixed
                  a glitch that caused Billy to start for the first time
                  with a "blank" name in his list of people he knows.  There
                  was also a typo, which has been corrected.

   BILLY v2.0 -   (12/21/1999)
                  The 2.x generation, rather than only looking at complete
                  sentences, breaks the sentences into individual words, and
                  generates a response based on the words it finds.  Unlike
                  other keyword-based NLPs, Billy 2.x is able to also learn
                  from its conversations.  It can learn complete sentences,
                  individual words, as well as how to respond to certain
                  phrases, using humans as "models".  It also maintains
                  a "knowledge web" of facts it learns from the user,
                  which it can then use to answer questions.

   BILLY v1.0 -   (~1994)
                  The first generation of Billy recognized only
                  complete sentences that were preprogrammed into it.
                  Any other sentence generated a random response of
                  about 4 preprogrammed responses.  Billy v1.0 was so
                  dumb his I.Q. test came back negative... :)