On Friday, 10 January 2014 at 01:26:50 UTC, H. S. Teoh wrote:
I thought it still is?

Yeah, mostly, though sometimes the disambiguation leaks the other details (for example replace() sometimes has a name conflict, so you need to explicitly import it or use a full name to disambiguate).

But this is primarily a documentation problem rather than a code one.


Some code differences from the old days:

* before: converting to and from string was in std.string. Functions like toInt, toString, etc. Nowadays, this is all done with std.conv.to. The new way is way cool, but a newbie's first place to look might be for std.string.toString rather than std.conv.to!string.

* before: some char type stuff was in std.string (and the rest in std.ctype IIRC). Now, it is in std.ascii and std.uni.

* before: the signatures were char[] foo(char[]). Nowadays, it is S foo(S)(S s) if(isSomeString!S)... so much wordier! Better functionality, but omg it can be a pain to read and surely intimidating for newbs.


I think things are generally improved as for functionality and consistency, but the docs are more debatable.

Reply via email to