On 25 January 2012 23:59, Adam Wilson <flybo...@gmail.com> wrote: > On Wed, 25 Jan 2012 13:35:38 -0800, Manu <turkey...@gmail.com> wrote: > > On 25 January 2012 21:47, bls <bizp...@orange.fr> wrote: >> >> On 01/25/2012 07:03 AM, Manu wrote: >>> >>> This is fairly interesting. MS have extended their C++ compiler >>>> significantly for Windows8 with a bunch of non-standard stuff. >>>> FINALLY implement garbage collection, ref counting, properties, >>>> delegates, events, generics, etc... >>>> If other compilers adopt this tech, D loses some advantages. >>>> >>>> >>> But you still have to fight with ifndef ,forward declaration, and a >>> template syntax against common sense. Even if you paint shit yellow it's >>> not necessarily gold. >>> >>> >> True, but I think this will mitigate a lot of the motivation Windows devs >> have to seek another language if they're not developing cross platform >> apps. >> >> Sadly, since WinRT requires using these language extensions to interface >> with the new windows runtime, you won't be able to write a Windows8 app in >> D. >> Interestingly though, D supports almost everything they've added to C++. I >> wonder if it would be possible to do extern(Windows8) to produce a >> compatible ABI for linking with MS C++ apps? >> >> The most interesting features are 'ref new' and 'gcnew', which makes me >> wonder, since Windows8 has an OS garbage collector, would it be at all >> possible to have D use the Windows8 GC? I'd prefer this to using D's own >> GC >> if it would be supported, and obviously this would be a requirement if D >> was going to interact with WinRT properly. >> Also, WinRT uses 'ref new' to allocate ref counted (effectively COM to my >> understanding) objects. I think I read somewhere that D already has >> extern(COM) no? I wonder if Windows8 ref type linkage is already >> technically supported in D? >> > > There is no Win8GC, it's all ref counted. WinRT is COM with extras and as > such should be accessible to D. It would need some extra glue code over > what we have now ... like the IInspectable interface. >
Really? So what's 'gcnew' for?