-*- mode:Text -*-
Copyright 1992 Patrick H. Winston.  All rights reserved.
Version 1.1.1, transferred from master disk on 23 Apr 93
 
This file may reference other files containing copyrighted software.
Any restrictions on the use of such software are described in the
files containing that software.  This file may be freely copied as
long as this notice is kept intact.

WARNING

Remove the code that loads the clos.lsp file from the frames.exp
file if your Lisp system includes the Common Lisp Object System.
The clos.lsp file contains a micro version of the Common Lisp
Object System that may crash your Lisp if your Lisp already has
a definition for DEFCLASS, DEFMETHOD, or MAKE-INSTANCE.

In particular, if you are using a Symbolics machine, remove the
code that loads the clos.lsp file and type the following:

(in-package "future-common-lisp-user")

PURPOSE

Provides program support for Chapter 9, Frames and Inheritance.
Illustrates inheritance using dwarfs and earthquakes.

PERFORMANCE EXPERIMENT 1

Examine the file frames.exp.  Evaluate each Lisp expression in
the file one at a time, noting what each does.

PERFORMANCE EXPERIMENT 2

Type the following:

(show (make-instance 'earthquake))

KNOWLEDGE ENGINEERING EXPERIMENT 1

Editing the class definitions and/or the methods frames.lsp.  Note
how each edit changes the results.

KNOWLEDGE ENGINEERING EXPERIMENT 2

Create a frame system describing weddings and birthday party events.

KNOWLEDGE ENGINEERING EXPERIMENT 3

Create a frame system describing the instructors at your
university.

MEDIUM-SCALE LISP PROJECT

Modify clos.lsp such that you can define :around methods.

LARGE-SCALE LISP PROJECT

Modify clos.lsp such that methods are compiled, not just remembered
as LAMBDA expressions.

