*/
/*
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. ------
*/