ccl
ccl copied to clipboard
defpackage should accept package designators for :use and :shadowing-import-from
CLHS defpackage says:
defpackage defined-package-name [[option]] => package
option::= (:nicknames nickname*)* |
(:documentation string) |
(:use package-name*)* |
(:shadow {symbol-name}*)* |
(:shadowing-import-from package-name {symbol-name}*)* |
(:import-from package-name {symbol-name}*)* |
(:export {symbol-name}*)* |
(:intern {symbol-name}*)* |
(:size integer)
package-name---a package designator.
But ccl doesn't allow package as package designators! It should be allowed in :use and :shadowing-import-from clauses!
(defpackage #\A
(:use "CL" cl :cl #:cl #.(find-package "CL") #| <-- should be allowed !! |# )
(:export #\F "F" f :f #:f))
The value #<Package "COMMON-LISP"> is not of the expected type (or
string
symbol
character).
(defpackage #\A
(:use "CL" cl :cl #:cl)
(:shadowing-import-from "CL" "SIN")
(:shadowing-import-from cl "COS")
(:shadowing-import-from :cl "TAN")
(:shadowing-import-from #:cl "ACOS")
(:shadowing-import-from #.(find-package "CL") #| <-- should be allowed !! |# "ASIN")
(:export #\F "F" f :f #:f))
The value #<Package "COMMON-LISP"> is not of the expected type (or
string
symbol
character).
(defpackage #\A
(:use "CL" cl :cl #:cl)
(:shadowing-import-from "CL" "SIN")
(:shadowing-import-from cl "COS")
(:shadowing-import-from :cl "TAN")
(:shadowing-import-from #:cl "ACOS")
(:export #\F "F" f :f #:f))
--> #<Package "A">