diff --git a/cl21.asd b/cl21.asd index c733339..83e0241 100644 --- a/cl21.asd +++ b/cl21.asd @@ -30,6 +30,7 @@ (:file "asdf" :depends-on ("cl21" "core-subpackages")) (:module "core-subpackages" :pathname "core" + :depends-on ("internal") :components ((:file "types") (:file "condition") @@ -43,15 +44,17 @@ (:file "cons" :depends-on ("generic" "sequence" "array")) (:file "array" :depends-on ("generic")) (:file "string") - (:file "sequence" :depends-on ("generic" "condition" "environment" "util")) - (:file "hash-table" :depends-on ("generic" "condition" "package" "sequence" "util")) + (:file "sequence" :depends-on ("generic" "condition" "environment")) + (:file "hash-table" :depends-on ("generic" "condition" "package" "sequence")) (:file "file") (:file "stream") (:file "generic" :depends-on ("types")) (:file "repl") (:file "readtable" :depends-on ("function" "array" "sequence" "cons")) - (:file "environment") - (:file "util" :depends-on ("environment")))) + (:file "environment"))) + (:module "internal" + :components + ((:file "util"))) (:module "stdlib" :depends-on ("core") :components diff --git a/src/core/cons.lisp b/src/core/cons.lisp index bfaa8f9..e15e2bc 100644 --- a/src/core/cons.lisp +++ b/src/core/cons.lisp @@ -66,7 +66,7 @@ :coerce) (:shadowing-import-from :cl21.core.array :vector) - (:import-from :cl21.core.util + (:import-from :cl21.internal.util :define-typecase-compiler-macro) (:import-from :alexandria :iota diff --git a/src/core/hash-table.lisp b/src/core/hash-table.lisp index 56e4dee..d8eba70 100644 --- a/src/core/hash-table.lisp +++ b/src/core/hash-table.lisp @@ -27,7 +27,7 @@ :iterator-endp) (:shadowing-import-from :cl21.core.sequence :map) - (:import-from :cl21.core.util + (:import-from :cl21.internal.util :define-typecase-compiler-macro) (:import-from :alexandria :alist-hash-table diff --git a/src/core/sequence.lisp b/src/core/sequence.lisp index 94f7403..f0e94ae 100644 --- a/src/core/sequence.lisp +++ b/src/core/sequence.lisp @@ -66,7 +66,7 @@ :method-unimplemented-error) (:import-from :cl21.core.environment :variable-information) - (:import-from :cl21.core.util + (:import-from :cl21.internal.util :define-typecase-compiler-macro) #+nil (:import-from :split-sequence diff --git a/src/core/util.lisp b/src/internal/util.lisp similarity index 92% rename from src/core/util.lisp rename to src/internal/util.lisp index ab47ca0..077f072 100644 --- a/src/core/util.lisp +++ b/src/internal/util.lisp @@ -1,12 +1,17 @@ (in-package :cl-user) -(defpackage cl21.core.util +(defpackage cl21.internal.util (:use :cl) - (:import-from :cl21.core.environment + (:import-from #+sbcl :sb-cltl2 + #+openmcl :ccl + #+cmu :ext + #+allegro :sys + #+ecl :si + #+abcl :lisp :variable-information) (:import-from :alexandria :ensure-list) (:export :define-typecase-compiler-macro)) -(in-package :cl21.core.util) +(in-package :cl21.internal.util) (defmacro define-typecase-compiler-macro (name lambda-list typecase) (flet ((remove-from-lambda-list (target lambda-list)