;;;; -*- mode:Lisp; syntax:Common-Lisp; package:user -*- ;;;; ;;;; Copyright 1992 Patrick H. Winston and Berthold K. P. Horn. ;;;; All rights reserved. ;;;; ;;;; Version 1.0.1, copied from master file on 23 Apr 93 ;;;; ;;;; This software is licensed by Patrick H. Winston and Berthold K. P. Horn ;;;; (licensors) for instructional use with the textbooks ``Lisp,'' by Patrick ;;;; H. Winston and Berthold K. P. Horn, and ``Artificial Intelligence,'' by ;;;; Patrick H. Winston. Your are free to make copies of this software and ;;;; modify it for such instructional use as long as: ;;;; 1. You keep this notice intact. ;;;; 2. You cause any modified files to carry a prominent notice stating ;;;; that you modified the files and the date of your modifications. ;;;; This software is licensed ``AS IS'' without warranty and the licensor ;;;; shall have no liability for any alleged defect or damages. #| The procedures in this fill offer a small subset of the functionality of the Common Lisp Object System (CLOS). Note that the emphasis is on simplicity, not speed. Accordingly, values are kept on property lists, and methods are kept on association lists. Only simple versions of DEFCLASS, MAKE-INSTANCE, and DEFMETHOD are provided; :around :before, :primary, and :after methods are provided. Methods can be specialized to instances using the following in the position normally occupied in a DEFMETHOD form by a class name: (EQL