All right, all right! Interim decision regarding qualified Object methods
Michel Fortin
michel.fortin at michelf.com
Thu Jul 12 06:30:35 PDT 2012
On 2012-07-12 13:01:42 +0000, "bearophile" <bearophileHUGS at lycos.com> said:
> Jacob Carlborg:
>
>> Yeah, that was insane. 60 MB for a hello world application is not pretty.
>
> I'd like to know how much MB are saved using the @templated()
> pervasively in that first implementation... :-)
There's no use for @templated() in the bridge. Classes wrappers and
function wrappers are not templates, they're mixins. You end up with a
lot of non-templated virtual functions in each class.
>> The second version is not a bridge, it changes the language to be ABI
>> compatible with Objective-C.<
>
> I vaguely remember a language that allows to specify a custom
> calling convention from the language itself. I don't know if this
> general feature is worth adding to D.
But you don't even need a custom calling convention to call Objective-C
code in D (hence why the previous approach with the bridge worked!).
Objective-C method use the same calling convention as variadic C
functions.
D/Objective-C (the compiler addition) is much more than that. It's
support and cohabitation of a second object ABI, it's support for
Objective-C exceptions mixed with D exceptions, support for Objective-C
string and selector literals, class objects and overridable class
methods, overriding, contracts added to the Objective-C object model,
Objective-C protocols (through interfaces), plus a few other things
which haven't been implemented at this time.
--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list