mixin + CTFE, to big a hammer??

Andrei Alexandrescu (See Website For Email) SeeWebsiteForEmail at erdani.org
Thu Mar 1 13:25:43 PST 2007


John Reimer wrote:
> On Thu, 01 Mar 2007 13:29:30 -0700, Hasan Aljudy wrote:
> 
>> kris wrote:
>>> BCS wrote:
>>>> I have been thinking about the new functionality added by the code 
>>>> mixin and CTFE features and I'm thinking that they may be "to big a 
>>>> hammer" for may jobs.
>>>>
>>>> Take my parser generator as an example. I don't think there would be 
>>>> anything to gain by using mixin as the primary method of code 
>>>> generation. Firstly, code generated this way will inherently be harder 
>>>> to read and debug. Also it doesn't do anything that tuple iteration 
>>>> doesn't do just as well.
>>>>
>>>> I will admit that there may be some things to be gained there by using 
>>>> mixin code (the terminal and action call backs could benefit a lot 
>>>> from this) but these are only minor changes. Also mixin code would be 
>>>> invaluable for some more complicated cases.
>>>>
>>>> Why is this important? I think that many valuable types of code 
>>>> generation would benefit more by improving the static control 
>>>> structures (foreach/if/etc.) than they would from more mixin like 
>>>> features.
>>>>
>>>> One feature I would like is a true static foreach, one that can 
>>>> iterate over any built in type arrays or a tuple but does unrolling 
>>>> and per-loop semantic analysis like with tuples. This, in conjunction 
>>>> with CTFE, would make for huge improvements in what can readily be 
>>>> accomplished by moving much of the processing of the code generator 
>>>> input into function and out of templates.
>>>>
>>>> Basically, I'm saying that while mixin+CTFE is good from many things, 
>>>> it shouldn't be pushed at the expense of the more mundane techniques.
>>>>
>>>> Just some thoughts, what do you all think?
>>>
>>> D mixin, in it's current guise, is about equivalent to crack-cocaine. 
>>> Easily the worst thing that happened to the language, IMO.
>>>
>>> Just say no
>> Just give it time, wait for it to mature from experience.
> 
> ??
> 
> It's been around for a bit already. It doesn't seem to be getting better?

Patience is a virtue. :o) Besides, it's not like they started real bad.

Andrei



More information about the Digitalmars-d-announce mailing list