The Many Faces of D - slides

bearophile bearophileHUGS at lycos.com
Sun Oct 3 06:59:16 PDT 2010


Walter Bright:

> The slides for my Sep. 15 talk at NWCPP:
> http://nwcpp.org/images/stories/nwcpp-2010-09.pdf

Thank you for the slides.

Few comments:

Page 10, and in other pages I'd like a non-proportional font for the code, because I find it a little more readable (even better if it's colorized, there are online tools able to produce colorized HTML from D1 code too).


Page 19:
>Unlike C++, values can be moved in memory  Postblit is used to “adjust” things after a move<

OK, so a moving GC needs to call the Postblit each time it moves a struct.


Page 20: is that functional? It even contains a mutable "sum" value. It may be seen as kind-of-functional. A more functional style is to use a reduce (fold) there, from std.algorithm.


Page 30: that little concurrent test program gives me an error:
...\dmd\src\phobos\std\typecons.d(336): Error: no property 'length' for type 'immutable(char)'

This is the part of typecons.d that gives the error:

    static string injectNamedFields()
    {
        string decl = "";
        foreach (i, name; staticMap!(extractName, fieldSpecs))
        {
            auto    field = text("Identity!(field[", i, "])");
            auto numbered = text("_", i);
            decl ~= text("alias ", field, " ", numbered, ";");
            if (name.length != 0) // line 336
            {
                decl ~= text("alias ", numbered, " ", name, ";");
            }
        }
        return decl;
    }

Bye,
bearophile


More information about the Digitalmars-d mailing list