-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.lisp
65 lines (53 loc) · 2.3 KB
/
package.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
;;; -*- mode:lisp; coding:utf-8 -*-
(defpackage :closette.system
(:use :cl))
(in-package :closette.system)
(eval-when (:compile-toplevel :load-toplevel :execute)
(defparameter +closette-symbols+
'(#:defclass #:defgeneric #:defmethod
#:find-class #:class-of
#:call-next-method #:next-method-p
#:slot-value #:slot-boundp #:slot-exists-p #:slot-makunbound
#:make-instance #:change-class
#:initialize-instance #:reinitialize-instance #:shared-initialize
#:update-instance-for-different-class
#:print-object
#:describe-object
#:standard-object
#:standard-class #:standard-generic-function #:standard-method
#:class-name
#:class-direct-superclasses #:class-direct-slots
#:class-precedence-list #:class-slots #:class-direct-subclasses
#:class-direct-methods
#:generic-function-name #:generic-function-lambda-list
#:generic-function-methods #:generic-function-discriminating-function
#:generic-function-method-class
#:method-lambda-list #:method-qualifiers #:method-specializers #:method-body
#:method-environment #:method-generic-function #:method-function
#:slot-definition-name #:slot-definition-initfunction
#:slot-definition-initform #:slot-definition-initargs
#:slot-definition-readers #:slot-definition-writers
#:slot-definition-allocation
;;
;; Class-related metaobject protocol
;;
#:compute-class-precedence-list #:compute-slots
#:compute-effective-slot-definition
#:finalize-inheritance #:allocate-instance
#:slot-value-using-class #:slot-boundp-using-class
#:slot-exists-p-using-class #:slot-makunbound-using-class
;;
;; Generic function related metaobject protocol
;;
#:compute-discriminating-function
#:compute-applicable-methods-using-classes #:method-more-specific-p
#:ensure-generic-function
#:add-method #:remove-method #:find-method
#:compute-effective-method-function #:compute-method-function
#:apply-methods #:apply-method
#:find-generic-function ; Necessary artifact of this implementation
)))
(defpackage :closette
(:use :cl)
#.(cons :export +closette-symbols+))
;;; EOF