I give up! I tried to create a reflection library but D's traits are just too screwed up!

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Apr 3 17:56:08 UTC 2019


On 4/3/19 3:22 AM, Alex wrote:
> The follow code is a reflection library that unifies all the junk in 
> std.traits and __traits and makes it using reflection as if it were 
> runtime and one can even keep the info around at runtime...
> 
> But D's type system is too screwed up.

Alex, thank you for this work. After looking at it, I was all morning on 
the phone with my students Eduard Staniloiu and Razvan Nitu, discussing 
in good part how to make inroads into the introspection matter.

Introspection is important. It is also, more or less incidentally, 
central to Eduard's doctoral dissertation and also important for Razvan's.

They will look through your code trying to identify and look at fixes 
for the problems you encountered. One thing you could help with is to 
break down the problems you found in bite-size chunks - a simple 
example, the expected behavior, and the actual behavior.

In some cases it may be something desirable but not a showstopper. 
Example: "D forces code duplication". In some other cases there may be 
no code example, e.g. "I need introspection artifact X to do Y and there 
isn't any."

Please assign all of these issues to Eduard.


Thanks!


More information about the Digitalmars-d mailing list