;; jeder hat so sein Paket was man/frau mit schleppt ;; Hilfreich ist auch der nächste Schnipsel (Ausgabe in der Konsole) (format T "~&my current package is [~S]~%" LISP::*PACKAGE*) ;; Und welche gibt es alle (Ausgabe in der Konsole) (format T "~&(LIST-ALL-PACKAGES)~%~{ * ~S~%~}" (sort (mapcar 'write-to-string (LIST-ALL-PACKAGES)) 'string<)) ;;Beispiele (beide Dateien A und B werden jeweils von einer 3. Datei geladen) ;; ================================================================== ;; ================================================================== ; Datei A01 (in-package :cadde) (defun my-function () "my function is called" ) ;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Datei B01 (in-package :my-company) (use-package '(:oli :cadde)) ;; also beide! (defun my-test (pprint (sd-inq-version)) (pprint (my-function)) ;; LISP error: cadde package ist zwar bekannt, aber nicht die Funktion exportiert ) ;; ================================================================== ;; ================================================================== ; Datei A02 (in-package :cadde) (export 'my-function) (defun my-function () "my function is called" ) ;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Datei B02 (in-package :my-company) (use-package '(:oli :cadde)) ;; also beide! (defun my-test (pprint (sd-inq-version)) (pprint (my-function)) ;; FUNKTIONIERT: cadde package ist bekannt, die Funktion ist exportiert ) ;; ================================================================== ;; ================================================================== ; Datei A03 (in-package :cadde) (export 'my-function) (defun my-function () "my function is called" ) ;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Datei B03 (in-package :my-company) (use-package '(:oli)) ;; also nur eins (defun my-test (pprint (sd-inq-version)) (pprint (cadde:my-function)) ;; FUNKTIONIERT: cadde package explizt angegeben und die Funktion ist exportiert ) ;; ================================================================== ;; ================================================================== ; Datei A04 (in-package :cadde) (defun my-function () "my function is called" ) ;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Datei B04 (in-package :my-company) (use-package '(:oli)) ;; also nur eins (defun my-test (pprint (sd-inq-version)) (pprint (cadde::my-function)) ;; FUNKTIONIERT: cadde package explizt angegeben und die Funktion ist nicht exportiert, aber intern im Package referenziert ) ;; ================================================================== ;; ================================================================== ; Datei A05 (in-package :cadde) (defun my-function () "my function is called" ) ;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Datei B05 (in-package :my-company) (use-package '(:oli :cadde)) ;; also beide! (defun my-test (pprint (sd-inq-version)) (pprint (cadde::my-function)) ;; FUNKTIONIERT: cadde package explizt angegeben und die Funktion ist nicht exportiert, aber intern im Package referenziert ) ;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; Datei AB06 (in-package :cadde) (use-package ':oli) (defun my-function () "my function is called" ) (defun my-test (pprint (sd-inq-version)) (pprint (my-function)) ;; FUNKTIONIERT weils im eigenen Package ist )