On Friday, 11 May 2012 at 19:39:55 UTC, H. S. Teoh wrote:
On Fri, May 11, 2012 at 09:01:25PM +0200, Chris Cain wrote:
There's definitely not enough info on how to get stuff done
with ranges. I knew about assumeSorted and the fact that
std.algorithm.sort returns a sorted range, but only because I
carefully combed through the libraries looking for stuff like
that.
Again, helpful tutorials like Ali's book really need to be on
the forefront of D. Newbies *need* to read that stuff before
they get dunked into the deep end of the pool that is the
current dlang.org docs.
I remember reading from that book a bit on the ranges, and it
all made wonderful sense when I did. That was something like a
year ago, now I can't remember anything on it except it was good.
Not having a good link to it does hinder your work quite a bit.
That said, the D way is actually very well designed once you
discover it. Like Andrei said, the code clarifies its
intentions.
Hilariously, this style also makes the code look more magical.
You want to say something is unique and, thus, can be
legitimately made immutable? assumeUnique. Oh, you want to
have a memoized version of funct? memoize!funct. I leave my
friends wondering how D knew how to do all this stuff just by
being "told" to. Magic API, that's how.
+1. Sufficiently advanced programming language syntax is
indistinguishible from magic. ;-)
http://freefall.purrsia.com/ff300/fv00255.htm
Safe to say documentation needs to be updated and added to.
Here's a catch-22 we have here. We need those that know the
system and language and compiler to work on it and give us a
working set of tools, but we need those people to update and make
the documentation for everyone that wants to use it or it will be
a dead language.
Hmmm... Unfortunately I don't have sufficient knowledge of all
of D to make documentation for updated and newer changes to the
language. :(