A small library to automatically export definitions
autoexportis a small macro to export your definitions without any need to add them to your package's
:exportsection.It's especially useful with class definitions as it also automatically exports slots, readers, writers and accessors.
(ql:quickload :autoexport) (defpackage :my-package (:use :cl)) (defpackage :other-package (:use :cl :autoexport)) ;; Switch to a package (in-package :other-package) (pub defun some-func () (format t "Hello, World!")) (pub defclass some-class () ((x :accessor x :initform :x) (y :accessor y :initform :y))) ;; Switch to a different package (in-package :my-package) (other-package:some-func) ; => Hello, World! ; Note a single colon (defvar *test-var* (make-instance 'other-package:some-class :x 1 :y 1)) (slot-value *test-var* 'other-package:x) ; => 1 (other-package:y *test-var*) ; => 1 (setf (other-package:y *test-var*) 100) ; => 100 (other-package:y *test-var*) ; => 100