On Thursday, 12 May 2016 at 21:08:58 UTC, Matthias Klumpp wrote:
To elaborate a bit more on the version incompatibilities thing: E.g. me as a new user reads about std.concurrency.Generator, wants to use it, and it turns out that the standard library doesn't contain it yet (in GDC). Same for std.experimental.logger.
Okay, means I can't use these.

I haven't tried myself for these, but it might turn out to be not so much work just to copy the relevant files over and clean up the rough edges if you want to use these in GDC/LDC. But I know that it's harder and a nuisance if you aren't that familiar with the language and just want to get your job done.

Then, I want to use D-YAML, which depends on std.stream. But std.stream is completely deprecated, with no clear path for me to see to replace it. That's really bad, and it also means I can't compile my code with making the use of deprecated stuff fail the compilation.

https://github.com/DigitalMars/undeaD/blob/master/src/undead/stream.d

You might want to submit a pull request so D-YAML depends on this (where removed parts of Phobos go to live) rather than std.stream.

That was by far the most frustrating things I experienced in D. So ideally the docs would be split for different Phobos versions, that would already be a great help. Then, when deprecating stuff, showing a thing that replaces it or the proper way to write code using it would also be really nice.

I agree.

It would actually be really awesome if Phobos wasn't tied to a compiler, and all D compilers which are standard-compliant could compile it. Then, one could assume that people have the most recent Phobos. But it looks like it will take a longer time to get there, if at all.

A matter of maturity and resources. It's quite astonishing the value that the small number of people working on LDC and GDC have been able to create. (DMD too, but there are more people). Maybe there ought to be a way to express concrete appreciation for their work.


Reply via email to