change-class

Die Funktion change-class liefert zu einer als Argument übergebenen Instanz eine Instanz mit den gleichen Werten der Instanzvariablen, jedoch mit einer anderen Klasse. Diese Klasse wird als zweites Argument übergeben. Die Funktion wertet beide Argumente aus.

> (defclass thing-1 ())
> (defclass thing-2 ())
> (equal? thing-2 (class-of (change-class (allocate-instance thing-1) thing-2)))
t