;;;-*-Mode:LISP; Package:(PCL (LISP WALKER)); Base:10; Syntax:Common-lisp -*- ;;; ;;; ************************************************************************* ;;; Copyright (c) 1985, 1986, 1987 Xerox Corporation. All rights reserved. ;;; ;;; Use and copying of this software and preparation of derivative works ;;; based upon this software are permitted. Any distribution of this ;;; software or derivative works must comply with all applicable United ;;; States export control laws. ;;; ;;; This software is made available AS IS, and Xerox Corporation makes no ;;; warranty about the software, its performance or its conformity to any ;;; specification. ;;; ;;; Any person obtaining a copy of this software is requested to send their ;;; name and post office or electronic mail address to: ;;; CommonLoops Coordinator ;;; Xerox Artifical Intelligence Systems ;;; 2400 Hanover St. ;;; Palo Alto, CA 94303 ;;; (or send Arpanet mail to CommonLoops-Coordinator.pa@Xerox.arpa) ;;; ;;; Suggestions, comments and requests for improvements are also welcome. ;;; ************************************************************************* ;;; (in-package 'pcl :use '(lisp walker)) ;;; ;;; Some CommonLisps have more symbols in the Lisp package than the ones that ;;; are explicitly specified in CLtL. This causes trouble. Any Lisp that has ;;; extra symbols in the Lisp package should shadow those symbols in the PCL ;;; package. ;;; #+TI (shadow '(string-append once-only destructuring-bind memq assq delq neq true false without-interrupts defmethod) 'pcl) #+GCLisp (shadow '(string-append memq assq delq neq make-instance)) #+Symbolics (shadowing-import '(zl:arglist zwei:indentation) (find-package 'pcl)) ;;; ;;; These come from pages 2-3 and 2-4 of the CLOS specification. These ;;; symbols are automatically exported by PCL. See *other-exports* for ;;; other symbols you might want to use. ;;; (export '(defclass make-instance defmethod defmethod-setf defgeneric-options defgeneric-options-setf call-next-method slot-value with-slots change-class class-changed add-method class-named get-method get-setf-generic-function remove-method define-method-combination make-method-call method-qualifiers method-combination-error invalid-method-error class-of print-object) (find-package 'pcl)) (defvar *other-exports* ' (standard-class standard-generic-function standard-method print-instance make initialize class-prototype class object essential-class class-name class-precedence-list class-local-supers class-local-slots class-direct-subclasses class-direct-methods class-slots essential-method method-arglist method-argument-specifiers method-function method-equal slotd-name slot-missing define-meta-class %allocate-instance %instance-ref %instancep %instance-meta-class allocate-instance optimize-slot-value optimize-setf-of-slot-value add-named-class class-for-redefinition add-class supers-changed slots-changed check-super-metaclass-compatibility make-slotd compute-class-precedence-list walk-method-body walk-method-body-form add-named-method add-method remove-named-method remove-method find-method find-method-internal no-matching-method walker::variable-lexical-p ))