gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSObjCRuntime / GDL / GSWeb


From: David Chisnall
Subject: Re: GSObjCRuntime / GDL / GSWeb
Date: Sat, 10 Apr 2010 16:54:16 +0100

On 10 Apr 2010, at 16:36, Manuel Guesdon wrote:

> About GSObjCRuntime, my main questions are 
> - what will be broken

Richard can answer this better than I can, (this time it wasn't my fault!) but 
in general, only things that are duplicated functionality are being removed.  
GSObjCRuntime had two purposes:

1) Abstracting the details of the runtime data structures from the programmer.
2) Providing things like mixins that are not part of the core Objective-C 
object model.

Nothing in category 2 is going away.  Things in category 1 are, because we now 
have a more portable abstraction layer.  Apple now ships two Objective-C 
runtimes.  With their Modern runtime, the internal data structures are all 
private and everything must be done via function calls.  To make compatibility 
easier, they ported these APIs back to their Legacy runtime, so you can use 
them with both runtimes. 

I implemented these APIs on top of the GNU runtime to make life easier for 
Étoilé, and this version is now part of -base.  These APIs are also now the 
official public interface for libobjc2, which means that every shipping runtime 
supports them.  

It therefore no longer makes sense to have this functionality duplicated in 
GSObjCRuntime.  You can either use the Apple APIs, which work everywhere, or 
the GSObjCRuntime APIs, which only work if you have GS Additions installed.

> - what in these broken features are really used

No idea.

> - is there a clean way to make these used features working again


Yes, most of the removed functionality has direct equivalents in the new API.  
We could reimplement the old APIs as wrappers around the new ones if required.  
It would be better for user code to be updated to use the new APIs, but if this 
is a problem then I can reimplement any of the required functions before the 
next release if someone gives me a list of the ones that are needed.

David

--
This email complies with ISO 3103



reply via email to

[Prev in Thread] Current Thread [Next in Thread]