Skip to content

Instantly share code, notes, and snippets.

View Gordotony24's full-sized avatar

Gordotony24

  • Joined Jun 23, 2024
View GitHub Profile
@adlai
adlai / rehome-class.lisp
Last active June 23, 2024 12:30
package hackery for moving classes between packages
(defgeneric rehome-class (class new-home)
(:method ((class symbol) new-home)
(rehome-class (find-class class) (find-package new-home)))
(:method ((class class) (new-home package))
(let ((old-home (symbol-package (class-name class)))
(symbols (list* (class-name class)
(mapcar 'sb-mop:slot-definition-name
(sb-mop:class-direct-slots class)))))
(mapc (lambda (symbol) (unintern symbol old-home)) symbols)
(import symbols new-home)