Search                        Top                                  Index

*/
/*
Now delete that faulty line.

That was a syntax error (compile-time error). But you can also get a run-time
error (semantic error), as the next example will demonstrate. Again do this to
compile the whole file:

    ENTER l1 RETURN
*/

    ;;; The first line is fine, and should print out '** 1' Why?
    ;;; The second line produces a 'run time' error after the instruction is
compiled

    length([99]) =>

    sqrt([99]) =>

/*
Fix the above command to make it print out the square root of 99 (or some other
number). Then do ENTER l1 RETURN again, to make sure it works.

Then delete both the above tests. Key F4 should delete the line the cursor is
on.

    ENTER d RETURN

Each comment uses the Pop11 comment brackets /*  */ which look like the
comment brackets in C and some other languages.

Try compiling the whole file,
    ENTER l1

The table of contents is near the end, followed by a command to print out
'Successfully compiled'.

If necessary, read TEACH MINIVED for revision. You will need to know how
to mark and compile a range of text in Ved, how to save your file, how
to return to it later.

*/

;;; You may wish to remove this command later:

'Starting to compile TEACH CHAT1' =>

/*

-- What this is about -------------------------------------------------

With the help of this TEACH file you will build a simplified ELIZA
program, that can hold a 'conversation' in English. The original Eliza
was a half-serious exercise in natural language processing developed
by Joseph Weizenbaum at MIT in the USA. It loosely simulated a
non-directive Rogerian psychotherapist. Many text books on AI include an
account of Eliza, and a criticism of the techniques used, because they
are so limited.


-- Play with the online pop11 for a few minutes. ----------------------

There is a version of the Pop-11 Eliza available on the internet here:

    http://www.cs.bham.ac.uk/research/projects/cogaff/eliza

If you try playing with it see if you can work out some of the rules it
uses. That is very hard to do because it has a large collection of rules
and the order in which they are tried is randomly 'shuffled' before each
new sentence is processed.

=======================================================================

-- Further reading ----------------------------------------------------

TEACH READLINE gives more practice in using readline, and shows how to
build a toy interactive teaching program for arithmetic.

TEACH DEFINE gives more information about defining procedures.

TEACH MATCHES  explains the use of the matcher in more detail
TEACH MATCHES2 gives more information about the matcher.
HELP  MATCHES  gives a summary overview

TEACH LISTS and TEACH ARROW  give exercises in list processing.

TEACH WHYSYNTAX  explains why a grasp of syntax is required for
    understanding natural language.

TEACH GRAMMAR
    Gives an introduction to formal grammars and programs that
    analyse the structure of a sentence. This helps to explain
    why the pattern matching approach used by Eliza is not adequate
    in general.

The Pop-11 primer gives a lot more information on lists and the matcher.
You can browse it online with the command:
    TEACH PRIMER
Finding things in it requires you to use the editor search mechanism.
In particular, Chapter 6 gives a lot of information about lists, and
Chapter 7 about the Pop-11 pattern matcher and database.

Depending on your installation, there may be a file called

TEACH LOCALINDEX  giving a list of locally produced teach files
TEACH INDEX summarises available teach files supplied with Poplog.

TEACH TEACHFILES gives an annotated list of available teach files
    supplied with Poplog

See also the Computers and Thought book by Sharples et al. (MIT Press)
You can learn from it how to go beyond Eliza to programs that use a
grammar and have a deeper understanding.


=======================================================================
*/

/*

CONTENTS - (Use ENTER g to access required sections)

 -- Introduction
 -- What this is about
 -- Further reading

*/
'Successrully compiled whole file' =>

/*
--- $usepop/pop/teach/chat1
--- Copyright University of Birmingham 2011. All rights reserved. ------
*/

    length([99]) =>

    sqrt([99]) =>

/*
Fix the above command to make it print out the square root of 99 (or some other
number). Then do ENTER l1 RETURN again, to make sure it works.

Then delete both the above tests. Key F4 should delete the line the cursor is
on.

    ENTER d RETURN

Each comment uses the Pop11 comment brackets /*  */ which look like the
comment brackets in C and some other languages.

Try compiling the whole file,
    ENTER l1

The table of contents is near the end, followed by a command to print out
'Successfully compiled'.

If necessary, read TEACH MINIVED for revision. You will need to know how
to mark and compile a range of text in Ved, how to save your file, how
to return to it later.

*/

;;; You may wish to remove this command later:

'Starting to compile TEACH CHAT1' =>

/*

-- What this is about -------------------------------------------------

With the help of this TEACH file you will build a simplified ELIZA
program, that can hold a 'conversation' in English. The original Eliza
was a half-serious exercise in natural language processing developed
by Joseph Weizenbaum at MIT in the USA. It loosely simulated a
non-directive Rogerian psychotherapist. Many text books on AI include an
account of Eliza, and a criticism of the techniques used, because they
are so limited.


-- Play with the online pop11 for a few minutes. ----------------------

There is a version of the Pop-11 Eliza available on the internet here:

    http://www.cs.bham.ac.uk/research/projects/cogaff/eliza

If you try playing with it see if you can work out some of the rules it
uses. That is very hard to do because it has a large collection of rules
and the order in which they are tried is randomly 'shuffled' before each
new sentence is processed.

=======================================================================

-- Further reading ----------------------------------------------------

TEACH READLINE gives more practice in using readline, and shows how to
build a toy interactive teaching program for arithmetic.

TEACH DEFINE gives more information about defining procedures.

TEACH MATCHES  explains the use of the matcher in more detail
TEACH MATCHES2 gives more information about the matcher.
HELP  MATCHES  gives a summary overview

TEACH LISTS and TEACH ARROW  give exercises in list processing.

TEACH WHYSYNTAX  explains why a grasp of syntax is required for
    understanding natural language.

TEACH GRAMMAR
    Gives an introduction to formal grammars and programs that
    analyse the structure of a sentence. This helps to explain
    why the pattern matching approach used by Eliza is not adequate
    in general.

The Pop-11 primer gives a lot more information on lists and the matcher.
You can browse it online with the command:
    TEACH PRIMER
Finding things in it requires you to use the editor search mechanism.
In particular, Chapter 6 gives a lot of information about lists, and
Chapter 7 about the Pop-11 pattern matcher and database.

Depending on your installation, there may be a file called

TEACH LOCALINDEX  giving a list of locally produced teach files
TEACH INDEX summarises available teach files supplied with Poplog.

TEACH TEACHFILES gives an annotated list of available teach files
    supplied with Poplog

See also the Computers and Thought book by Sharples et al. (MIT Press)
You can learn from it how to go beyond Eliza to programs that use a
grammar and have a deeper understanding.


=======================================================================
*/

/*

CONTENTS - (Use ENTER g to access required sections)

 -- Introduction
 -- What this is about
 -- Further reading

*/
'Successrully compiled whole file' =>

/*
--- $usepop/pop/teach/chat1
--- Copyright University of Birmingham 2011. All rights reserved. ------
*/