Looks like it has some severe limitations when it comes to interactive object-oriented programming:
Changes to a data type that affect the layout of an object, such as data members of a class.
The Common Lisp Object System does not have such a limitation. The price to pay is some indirection. You don't even need to create new instances from your class. The existing instances will be updated for runtime changes: different inheritance, new slot, removed slot, different class, ...
Comments
Live editing the running code without a restart may be a mite harder in C.
It's very hard (corner cases are nasty). That said, there are IDEs out there that support that sort of thing, e.g. https://docs.microsoft.com/en-us/visualstudio/debugger/edit-...
Looks like it has some severe limitations when it comes to interactive object-oriented programming:
The Common Lisp Object System does not have such a limitation. The price to pay is some indirection. You don't even need to create new instances from your class. The existing instances will be updated for runtime changes: different inheritance, new slot, removed slot, different class, ...