diff options
-rw-r--r-- | JOURNAL | 22 | ||||
-rw-r--r-- | Lisp/clozure-compat.lisp | 25 | ||||
-rw-r--r-- | Lisp/defpackage.lisp | 4 | ||||
-rw-r--r-- | objective-cl-clozure-compat.asd | 10 | ||||
-rw-r--r-- | objective-cl-tests.asd | 2 |
5 files changed, 25 insertions, 38 deletions
@@ -1,5 +1,27 @@ -*- mode: muse -*- +* 2008-02-03, 10:45:58 CET + +** To be compatible or not to be compatible? + +I wonder whether being API-compatible with Clozure CL's Objective-C +bridge would be a good or bad thing. On the one hand, compatibility +means application portabilitiy, which is nice. On the other hand, using +the same package names and reader macros as Clozure CL's bridge makes it +hard to have both loaded at the same time. + +Then again, if someone wants to compare Objective-CL with Clozure CL's +bridge side-by-side, it's their responsibility to rename packages as +needed. Reader macros aren't essential for using Objective-CL, so they +may be left disabled in such a case, anyway. I'm going to try hard to +use Objective-CL-specific package names within my code +(i.e. OBJECTIVE-C-CLASSES rather than NS), so renaming packages won't +break things. + +I'll be opting for direct API compatibility for now. It seems to be the +right choice. + + * 2008-01-29, 21:34:16 CET In the Objective-C 2.0 runtime, the functions diff --git a/Lisp/clozure-compat.lisp b/Lisp/clozure-compat.lisp deleted file mode 100644 index 8d6e2ea..0000000 --- a/Lisp/clozure-compat.lisp +++ /dev/null @@ -1,25 +0,0 @@ -;;;; 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/>. - - -(let* ((package (find-package '#:objective-c-classes)) - (new-name '#:ns) - (new-nicknames (remove new-name - (remove-duplicates - (cons (package-name package) - (package-nicknames package)))))) - (rename-package package new-name new-nicknames)) diff --git a/Lisp/defpackage.lisp b/Lisp/defpackage.lisp index 9151bba..6b5f8eb 100644 --- a/Lisp/defpackage.lisp +++ b/Lisp/defpackage.lisp @@ -68,8 +68,8 @@ #:next-runtime)) -(defpackage #:objcl-ns - (:nicknames #:objective-c-classes #:objc-classes) +(defpackage #:ns + (:nicknames #:objcl-ns #:objective-c-classes #:objc-classes) (:use)) diff --git a/objective-cl-clozure-compat.asd b/objective-cl-clozure-compat.asd deleted file mode 100644 index bfc4b70..0000000 --- a/objective-cl-clozure-compat.asd +++ /dev/null @@ -1,10 +0,0 @@ -(defsystem "objective-cl-clozure-compat" - :description "Different package names for Objective-CL that clash with - Clozure-CL's predefined ones." - :version "0.0.4" - :author "Matthias Benkard <matthias@benkard.de>" - :licence "GNU Lesser General Public License, version 3 or higher" - :depends-on (:objective-cl) - :components ((:module "Lisp" - :components ((:file "clozure-compat")))) - :serial t) diff --git a/objective-cl-tests.asd b/objective-cl-tests.asd index 7ecb551..a6cd132 100644 --- a/objective-cl-tests.asd +++ b/objective-cl-tests.asd @@ -20,7 +20,7 @@ :version "0.0.4" :author "Matthias Benkard <matthias@benkard.de>" :licence "GNU General Public License, version 3 or higher" - :depends-on (#:objective-cl #:objective-cl-clozure-compat #:lift) + :depends-on (#:objective-cl #:lift) :components ((:module "Lisp" :components ((:file "tests"))))) |