On Thu, 30 Apr 2009 18:46:47 -0400, Robert Fraser <[email protected]> wrote:

Steven Schveighoffer wrote:
Yes, I use reflection in some of my code, and it definitely has to come to D sometime. At least if I wanted to port my current project to D it would have to ;)

It's in D, just not standardized. There used to be a project "flectioned" by Thomas Khune that allowed reflection by either importing the map file or adding debug symbols in Windows (in Linux, it worked even on non-debug builds). It doesn't compile on the newer versions of D, but it shouldn't be too hard to fix up.

A different option would be to use some template/mixin magic to add specified classes to a set of exported/reflectable types. A good example of this is MiniD's binding libraries or PyD, which allow you to very easily wrap a module/class/etc. and make the names visible to a dynamic language.

I load executable assemblies dynamically and examine the attributes of classes to determine how to process them. I don't think D is quite there, but I have faith it will be.

And one of the things you said is key: "used to be"...

besides, I'm using a lot of .Net APIs and it would be difficult to switch them to D, so I sort of am not giving you the *only* thing that would have to be done to port my project to D ;)

As a side note though, one of the clients that uses the server is completely written in D because it runs on a very small Linux OS. It is actually the reason I started learning D in the first place (Didn't want to install C++ libs, didn't want to do network programming in C *shudder*).

-Steve

Reply via email to