On 06/23/2016 04:04 PM, H. S. Teoh via Digitalmars-d wrote: >> Sociomantic definitely does not (they use D1 currently, and their D2 >> port probably uses a port of their library as well), and I believe >> Weka.io does not either. > > AFAIK, the reason Sociomantic doesn't use Phobos is because their > codebase started with D1, and D1 Phobos was pretty sucky. Of course, now > that they have built their own library, it's hard to switch to D2 > Phobos, because the current Phobos has quite a different design from > before and would entail too big of a code change.
There are quite some issues with Phobos design decisions on its own that make it hard to use in our code base. One typical example is allocating new exception instances - it is illegal in our code as we always reuse them (and ban chaining of exceptions instead). It is still not decided if we are even going to try to switch to Phobos at all for main projects - not because our tango based code is really better (there is considerable amount of old-fashioned legacy there) but because it is under full control and pushing for even a smallest architectural change in Phobos is often larger effort than just rewriting the stuff completely. That said, I don't think the Phobos really should be (or even can be!) "production ready" in that sense. It is general purpose library and a common ground for buildin some quick prototypes. And going for more specialized domains tends to require sacrifices for everyone else.