On Wednesday, 22 April 2015 at 21:22:43 UTC, Meta wrote:
That makes sense. It seems to me that D has very... special but effective syntax. I'm having a hard time remembering all the keywords and expression forms (especially of IsExpression) but it's definitely a vast improvement over C++'s half baked pile of whatever. Thanks for the help, everyone.

The `is` expression is complicated and has a bunch of different usage syntax, but it's like one of those little multitools. Complicated to figure out how to use, but extremely flexible and able to do a lot of cool things.

Yeah, the `is` expression is one of my favorite D features.

import std.container;

template Substitute (T, U) {
  static if (is (T == F!V, alias F, V))
    alias Substitute = F!U;
}

alias List = SList!int;

static assert (is (Substitute!(List, char) == SList!char));

It's the little things.

Reply via email to