Closed wenq1 closed 1 year ago
The question is too loaded to answer, because the mulle-objc-runtime is not created "instead of" libobjc2. mulle-objc-runtime and libobjc2 aren't even compatible. For more background on mulle-objc-runtime checkout mulle-objc: a new Objective-C .
I have read all that. Still out of curiosity on why won’t libobjc2 fits all needs of a runtime.
The last time I looked more deeply at libobj2 has probably been 10 years ago or so, when I started writing the runtime. I am pretty sure, that protocol classes for example are still unique to mulle-objc-runtime.
If I ask perplexity.ai I get
libobjc2 supports the Objective-C 2.0 ABI and provides support for blocks, properties, and ARC[2] It is the default runtime for the GNUstep Objective-C environment and is also used by some other projects.
mulle-objc-runtime, on the other hand, is a runtime library that is part of the mulle-objc project, which is a complete implementation of the Objective-C language and runtime[3] It provides a full-featured class system and supports some language features that are not supported by libobjc2, such as the ability to define instance variables in categories[4] However, it does not support some features of the Objective-C 2.0 ABI, such as non-fragile instance variables.
ok
What's wrong with libobjc2 so that the mulle-objc-runtime is created instead?