Super-dee-duper D features
janderson
askme at me.com
Mon Feb 12 09:31:30 PST 2007
Andrei Alexandrescu (See Website For Email) wrote:
> janderson wrote:
>> Andrei Alexandrescu (See Website For Email) wrote:
>>> janderson wrote:
>>>> Andrei Alexandrescu (See Website For Email) wrote:
>>>>> janderson wrote:
>>>>>> Note: I'm not arguing that meta-programming should be higher
>>>>>> priority then say reflection. I'm just arguing that its just an
>>>>>> extension to what programmers do on a day-to-day basis.
>>>>>
>>>>> But metaprogramming *gives* reflection (as even you and others
>>>>> discussed recently). The half-assed way to do reflection is to have
>>>>> the language implementer sit down and define the run-time
>>>>> reflection mechanism. The full-assed way is to define compile-time
>>>>> reflection, to then allow people to define and refine run-time
>>>>> reflection mechanisms as libraries, in addition to many other
>>>>> useful libraries! It's like in the fish vs. fishing parable.
>>>>
>>>> I agree but its like the stl vectors. I'm unsure weather it just is
>>>> easier to have that kinda thing in the language because it already
>>>> has much of that information.
>>>
>>> The information being there is all the more reason to make it
>>> available during compilation, for reflection and many other purposes,
>>> e.g. PyD being one of them.
>>>
>>>> Also to write a reflection program that doesn't require wrapping
>>>> each and every call you'd need to write a fully fledged compiler
>>>> which may become out of sync with the compiler. I'm undecided on
>>>> this matter.
>>>
>>> Not sure I understand. All that will be needed to make Widget
>>> available is:
>>>
>>> mixin Manifest!(Widget);
>>>
>>> I don't see where the syncing problem occurs.
>>
>> This is wrapping each class. What if the the code was hidden in a
>> library or something. How would you get a such information? Also
>> wrapping each class is not as neat as a complete code analysis could
>> be (which is possible in mixin, just very difficult and slow).
>>
>> Syncing problems could still occur if Walter decides to make some
>> change in the language syntax.
>
> I find it reasonable to require one line per exposed class. This is even
> easier than writing a manifest file.
>
>
> Andrei
Very true however I think it could be written in a way that is easier.
I'm on the fence with this on.
-Joel
More information about the Digitalmars-d
mailing list