summaryrefslogtreecommitdiff
path: root/Lisp/defpackage.lisp
blob: 3c560e53f2909852e2ab6997c9bbaa4bdff2f462 (plain)
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
;;;; Objective-CL, an Objective-C bridge for Common Lisp.
;;;; Copyright (C) 2007  Matthias Andreas Benkard.
;;;;
;;;; This program is free software: you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public License
;;;; as published by the Free Software Foundation, either version 3 of
;;;; the License, or (at your option) any later version.
;;;;
;;;; This program is distributed in the hope that it will be useful, but
;;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;;;; Lesser General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU Lesser General Public
;;;; License along with this program.  If not, see
;;;; <http://www.gnu.org/licenses/>.

(defpackage #:mulk.objective-cl
  (:nicknames #:objcl #:objective-cl #:mulk.objcl)
  (:use #:closer-common-lisp #:cffi #:split-sequence)
  (:shadow #:foreign-pointer)

           ;; Functions
  (:export #:initialise-runtime
           #:shutdown-runtime
           #:install-reader-syntax
           #:enable-method-syntax
           #:in-method-syntax
           #:enable-objective-c-syntax
           #:disable-method-syntax
           #:disable-objective-c-syntax
           #:invoke-by-name
           #:invoke
           #:find-objc-class
           #:find-selector
           #:intern-selector
           #:objc-class-name
           #:selector-name
           #:selector
           #:define-returns-boolean-exception
           #:undefine-returns-boolean-exception
           #:collect-classes
           #:collect-methods
           #:super

           ;; Generic functions
           #:objc-eql
           #:objc-equal
           #:foreign-value-lisp-managed-p
           #:foreign-value-pointer
           #:objective-c-class-registered-p

           ;; Macros
           #+(or) #:define-objc-struct
           #+(or) #:define-objc-union
           #:define-objective-c-generic-function
           #:define-objective-c-method
           #:define-objective-c-class
           #+(or) #:defobjcgeneric
           #+(or) #:defobjcmethod

           ;; Special variables
           #:*trace-method-calls*

           ;; Constants
           #:+nil+
           #:+yes+
           #:+no+

           ;; Classes
           #:id
           #:selector
           #:exception
           #:foreign-value
           #:foreign-struct
           #:foreign-union
           #:objective-c-class
           #:objective-c-generic-function
           #:objective-c-method

           ;; Conditions
           #:message-not-understood
           #:no-such-selector

           ;; Metaclasses
           #:objective-c-class
           #:objective-c-metaclass))


(defpackage #:mulk.objective-cl-features
  (:nicknames #:objcl-features #:objective-cl-features #:mulk.objcl-features)
  (:use)
  (:export #:gnu-runtime
           #:next-runtime))


(defpackage #:ns
  (:nicknames #:objcl-ns #:objective-c-classes #:objc-classes)
  (:use))


(defpackage #:objective-c-methods
  (:nicknames #:objc-methods #:objcm)
  (:use))


(defpackage #:objective-c-selectors
  (:nicknames #:objc-selectors #:objc-sels #:objcs)
  (:use))

#-(or cmu sbcl) (declaim (declaration values))