Re: GInterfaces and API Stability



2007/11/14, Alp Toker <alp atoker com>:
> Matthias Clasen wrote:
> > Well, I have certainly considered C ABI compatibility to be the main deciding
> > factor when  making such decisions. I'd say if C# interfaces are inflexible like
> > that then mapping GObject interfaces directly to C# interfaces was probably
> > wrong.
>
> This is totally missing the point. GObject interfaces exist to formalise
> a pattern of design by contract. Even if the C compiler doesn't catch
> and report incomplete interface implementations, that doesn't make it
> correct to ship code that breaks the rules.
>
> Your argument is analogous to claiming that it's OK to change property
> and signal names and parameters in an ABI-stable release because the C
> compiler won't notice that anything has broken.

No, it would be analogous to *adding* new properties and signals
(while maintaining ABI compatibility).

Matthias is right IMO, if you need to limit the additions of
GInterface methods for C#, it should be done by the binding. Of
course, if this is a more general problem, *then* it might be
approperiate to refrain from adding interface methods in stable
series. But it doesn't seem to be so.

-- 
Kalle Vahlman, zuh iki fi
Powered by http://movial.fi
Interesting stuff at http://syslog.movial.fi


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