Array slicing, ranges, compile-time execution. Probably the most succinct and easy-to-read syntax out of many compiled languages. It's an investment (as with any other language) but the learning curve is not steep if you get scared away by C++ or Rust for that matter. Julia comes to mind too in terms of syntax but no UFCS and its interoperability with C++/C looks like a lot of work compared to D.
[1] https://riptutorial.com/scala/example/7538/implicit-classes
For example, seqOfChars.map!(a => a.toLower).filterIfNotDigitChar.sort.uniq; is simply not possible in Scala.
Here is a great presentation about fp in D: http://beza1e1.tuxen.de/stuff/FunctionalD.pdf
(Unless you mean something different).
Unfortunately it looks more like a kludge tbo. Sort and uniq get also hidden in a class which can be tucked away from your eyes and this is never good.
The official tour has a short page about FP as well: https://tour.dlang.org/tour/en/gems/functional-programming
Anyways, since Walter is probably reading this: Any new insights around this quote five years later?
> I know a lot of the programming community is sold on exclusive constraints (C++ concepts, Rust traits) rather than inclusive ones (D constraints). What I don't see is a lot of experience actually using them long term. They may not turn out so well. –Walter Bright
https://nim-lang.org/docs/manual.html#pragmas
And Active Oberon as well (here called flags),
http://cas.inf.ethz.ch/projects/a2/repository/raw/trunk/Lang...