The Thermopylae excerpt of TDPL available online
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Thu Oct 29 05:30:40 PDT 2009
Denis Koroskin wrote:
> On Thu, 29 Oct 2009 15:12:51 +0300, Lars T. Kyllingstad
> <public at kyllingen.nospamnet> wrote:
>
>> Jason House wrote:
>>> Andrei Alexandrescu Wrote:
>>>
>>>> It's a rough rough draft, but one for the full chapter on arrays,
>>>> associative arrays, and strings.
>>>>
>>>> http://erdani.com/d/thermopylae.pdf
>>>>
>>>> Any feedback is welcome. Thanks!
>>> I still think is expressions are a glaring problem. Somewhere in the
>>> text, you use assert(!is(typeof(... as support for what you're
>>> talking about. That particular construct feels more like a hack
>>> someone stumbled into than clean, easy to read code. It's the type of
>>> thing a programmer will get wring unless they use it frequently. Even
>>> you've screwed it up in past Phobos releases! IMHO all is(...)
>>> expressions should be revisited. Have you written the section(s) on
>>> them yet?
>>
>> I don't think he uses is(typeof(...)) in the text. The code snippets
>> in question are marked "Note: normally the code below would not be
>> included...", and I suppose he's put them there as a reminder for
>> himself and Walter on what needs to be fixed before the book comes out.
>>
>> I agree with you, though, is(typeof(...)) is quite often misused, or
>> at least used in an ugly way. Why not use __traits(compiles, ...)
>> instead?
>>
>> -Lars
>
> ... which is at least as ugly.
I disagree. Pretend you are just learning D, and you are presented with
the following two lines of code:
static assert (is(typeof(XXX));
static assert (__traits(compiles, XXX));
Which of these would you most likely assume to be a check on whether XXX
is compilable code?
What I cannot for the life of me understand is WHY the double
underscores? What's wrong with just "traits"?
-Lars
More information about the Digitalmars-d
mailing list