cthulu3/
cthulu3/backup/
cthulu3/distribution/
cthulu3/gods/
cthulu3/html/help/basic/
cthulu3/html/help/skills/
cthulu3/log/
cthulu3/player/
 
                                   Chat
                               version 1.0.0
                                    by 
                                Chris Busch

o  What is Chat?

Chat is loosely based on eliza type programs.  You type in a sentence and
Chat will respond to you.  Chat uses a large database to make responses,
with and, or, random options.

o  What is Chat's database?:

The large database included in this distribution is based off of a
database included in a eliza program distributed by James Risner,
risner@ms.uky.edu, Univ. of KY.  The format is substantially different from
his and the syntax is of my invention.

o  How do I create a database:

A database is simple to create and the best way to learn to look at the
database that I have included in my distribution.

The following information gives some nitty-gritty on the syntax.

There are several "operators" available:
  pattern matching:
        |       or
        &       and
        ~       and-not
  special pattern matching:
        ^       match start 
        =       exact match 
  pass 1 scan operators:
        #       remark
        "       output to stderr
        '       output to stdout
  response operators:
        1-9     weights are the numerals.
        %       include the rest of the response.
        
Some special notes:
        #,',",weights, and the first ( must be in column one.

Syntax of a simple pattern match:

( A | B & C ~ ( D | E | F))

The above would mean if A or B and C and-not D or E or F was in the
sentence then pick one of the responses.

The responses take on the form:

9this is most likely
4somewhat likely
1least likely

However, when a response is triggered, its weight is decreased by one.


Since the above makes little sense, an example will illustrate the use of
Chat databases better.

--- example start ---
#!/usr/bin/chat
#change the above line if the chat executable is in a different place.
#an example of a "Chat" database
"this will be printed to stderr
'this will be printed to stdout

(apple & ( orange | lemon ) ~ pine cones)
9You must have a citrus fruit and an apple.
3you do not have a pine cone but you have an apple.
2what was % suppose to mean?

(=your sentence matches this one exactly)
2you are unimaginative.
9you lack imagination.

--- end of example ---


o  How do I compile Chat?

With a lot of luck!!!!!  Try make, and if that doesn't work...


o  What is the history of Chat?

I originally wrote Chat back in my freshman year of college in the spring
of 1993.  It went through minor revisions up until now.  

I decided in Dec 1994 (a year and a half later) to write this poor doc file
and upload it.


o  How is Chat to be distributed?

If you use Chat for any purpose, I would like to hear what you think of it.
If you use the source code from Chat, I would like to be mentioned and
given credit in the doc file for that program.  However, I would prefer if
my version of Chat was the only one in wide circulation. In addition to the
above requests, I would like to distribute this code under the GNU
license agreement. 

o  Any disclaimers?

Chris Busch will not be held responsible for the use or misuse of this
software.  No guarantees or warranties are made to usefulness of this
program.


o  Where is the author?

The author, Chris Busch, can be reached at the University of Minnesota
Duluth, by the email address cbusch@d.umn.edu.


--
Chris Busch                    "Slugs can also be trapped using a variety
cbusch@ub.d.umn.edu                           of bait, including beer and 
http://ub.d.umn.edu:8080/~cbusch/               cocoa." - The Waste Paper