-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathcore.ss
96 lines (81 loc) · 2.63 KB
/
core.ss
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
; *************************************************************************
; Copyright (c) 1992 Xerox Corporation.
; All Rights Reserved.
;
; Use, reproduction, and preparation of derivative works are permitted.
; Any copy of this software or of any derivative work must include the
; above copyright notice of Xerox Corporation, this paragraph and the
; one after it. 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 DISCLAIMS
; ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
; PURPOSE, AND NOTWITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN, ANY
; LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS
; EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING
; NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED
; OF THE POSSIBILITY OF SUCH DAMAGES.
; *************************************************************************
;
; port to R6RS -- 2007 Christian Sloma
;
(library (clos core)
(export
;; classes
<class>
<top>
<object>
<procedure-class>
<entity-class>
<generic>
<method>
;; generic functions
make
initialize
allocate-instance
compute-getter-and-setter
compute-precedence-list
compute-slots
add-method
compute-apply-generic
compute-methods
compute-method-more-specific?
compute-apply-methods
print-object
;; slot access
slot-ref
slot-set!
;; introspection
class-of
class-direct-supers
class-direct-slots
class-precedence-list
class-slots
class-definition-name
generic-methods
method-specializers
method-procedure
method-qualifier
;; helpers
get-arg
unmangle-class-name
print-unreadable-object
print-object-with-slots
initialize-direct-slots
) ;; export
(import (only (clos bootstrap standard-classes)
<method> <generic> <entity-class> <procedure-class>
<object> <top> <class>)
(only (clos bootstrap generic-functions)
print-object compute-apply-methods
compute-method-more-specific?
compute-methods compute-apply-generic add-method
compute-slots compute-precedence-list
compute-getter-and-setter allocate-instance initialize
make)
(clos slot-access)
(clos introspection)
(clos private compat)
(clos helpers))
) ;; library (clos core)