Thread overview
D and the .NET framework
Jun 09, 2004
M. Termeer
Jun 09, 2004
Sean Kelly
Jun 09, 2004
Stephan Wienczny
Jun 09, 2004
Walter
Jun 09, 2004
Matthew
Jun 09, 2004
J Anderson
Jun 09, 2004
Matthew
June 09, 2004
Will it ever be possible to use the .NET framework in D? Or to link D code against other .NET code such as managed C++ or C# code? Solving this linking problem would greatly improve the things you can do with D. But since there is no intention on ever support linking C++ code, I wonder if this (simpler object model) will ever be supported.


June 09, 2004
In article <ca7ais$2ps5$1@digitaldaemon.com>, M. Termeer says...
>
>Will it ever be possible to use the .NET framework in D? Or to link D code against other .NET code such as managed C++ or C# code? Solving this linking problem would greatly improve the things you can do with D. But since there is no intention on ever support linking C++ code, I wonder if this (simpler object model) will ever be supported.

Not likely unless someone decides to write a CLI compiler for D.  AFAIK it isn't even possible to call code in .NET assemblies from within unmanaged C++ applications, except perhaps with a considerable hack.


Sean


June 09, 2004
*g*

I today ordered a book called "Build Your Own .NET Language and Compiler"

Have a look at my project at dsource and my roadmap...

Sean Kelly wrote:
> In article <ca7ais$2ps5$1@digitaldaemon.com>, M. Termeer says...
> 
>>Will it ever be possible to use the .NET framework in D? Or to link D code
>>against other .NET code such as managed C++ or C# code? Solving this linking
>>problem would greatly improve the things you can do with D. But since there is
>>no intention on ever support linking C++ code, I wonder if this (simpler object
>>model) will ever be supported.
> 
> 
> Not likely unless someone decides to write a CLI compiler for D.  AFAIK it isn't
> even possible to call code in .NET assemblies from within unmanaged C++
> applications, except perhaps with a considerable hack.
> 
> 
> Sean
> 
> 
June 09, 2004
In article <ca7cml$2tav$1@digitaldaemon.com>, Sean Kelly says...
>
>In article <ca7ais$2ps5$1@digitaldaemon.com>, M. Termeer says...
>>
>>Will it ever be possible to use the .NET framework in D? Or to link D code against other .NET code such as managed C++ or C# code? Solving this linking problem would greatly improve the things you can do with D. But since there is no intention on ever support linking C++ code, I wonder if this (simpler object model) will ever be supported.
>
>Not likely unless someone decides to write a CLI compiler for D.  AFAIK it isn't even possible to call code in .NET assemblies from within unmanaged C++ applications, except perhaps with a considerable hack.
>
>
>Sean

I know that tying one's self to a particular .NET implementation isn't such a hot idea, but have you tried using Mono (www.go-mono.com)?  They have a c-interface for their runtime that might help.

http://www.go-mono.com/embedded-api.html

A D wrapper for this would be pretty swanky if you ask me.  Especially given that mono's portability matches D's pretty closely. :)

Also, you can always create a .NET COM object and interface with it in the typical COM fashion.  Although I've never done such a thing, I get the impression that Walter at least had COM in mind when writing D/phobos since there's hints to it all over the place.

Outside of that, you're pretty much out of luck. You're not going to get link-level compatibility between D and .NET (or anything and .NET for that matter) simply because CLI bytecode doesn't even become native machinecode until runtime.  CLI is it's own beast. :(

- Eric


June 09, 2004
"M. Termeer" <M._member@pathlink.com> wrote in message news:ca7ais$2ps5$1@digitaldaemon.com...
> Will it ever be possible to use the .NET framework in D? Or to link D code against other .NET code such as managed C++ or C# code? Solving this
linking
> problem would greatly improve the things you can do with D. But since
there is
> no intention on ever support linking C++ code, I wonder if this (simpler
object
> model) will ever be supported.

I don't see any big roadblocks to doing this other than lack of time. Of course, if someone is willing to fund it, it'll move up in the priority list <g>.


June 09, 2004
"M. Termeer" <M._member@pathlink.com> wrote in message news:ca7ais$2ps5$1@digitaldaemon.com...
> Will it ever be possible to use the .NET framework in D?

It's possible now to embed .NET framework via COM, just as with any other COM-aware language

> Or to link D code
> against other .NET code such as managed C++ or C# code?

No

> Solving this linking
> problem would greatly improve the things you can do with D. But since there is
> no intention on ever support linking C++ code, I wonder if this (simpler object
> model) will ever be supported.

Only if it's an open-source effort, or Walter employs someone (me! me!) to do it, or if D gets sufficiently successful that MS are persuaded to do it.

Otherwise, no.

Either way, there's absolutely no point even starting while the language is still in flux. This might be a nice way to use post-1.0 D, however, in writing a .NET mapping in D.


June 09, 2004
Matthew wrote:

>Either way, there's absolutely no point even starting while the language is still
>in flux.
>  
>
I don't know about that.  There are many things in D that are fixed, why not start on those areas first?


-- 
-Anderson: http://badmama.com.au/~anderson/
June 09, 2004
"J Anderson" <REMOVEanderson@badmama.com.au> wrote in message news:ca81lt$rs6$2@digitaldaemon.com...
> Matthew wrote:
>
> >Either way, there's absolutely no point even starting while the language is
still
> >in flux.
> >
> >
> I don't know about that.  There are many things in D that are fixed, why not start on those areas first?

Maybe absolutely was too strong. It just seems like it's a very serious undertaking, and to work on it when a host of things are up in the air would be vexing.

Or maybe I've misinterpreted the recent flux on the NG. Several months ago we were talking about an imminent release, but of late the debate has encompassed a wide variety of different issues, many of which have elicited comment from Walter. My interpretation of this is that we're having a last, non-trivial, splurge of language changes before it's cast in stone (or steel, or bronze at least), for 1.0.