Replies: 4 comments 10 replies
-
IMO the reason why it doesn't grow is that there is no clear process of how to add new modules into it. |
Beta Was this translation helpful? Give feedback.
-
just historical, there was already a std.math and complex was built into the language, then it came out but didn't want to step on the existing module but still be up top due to previously being a lang feature
std.encoding is about text encoding so base64 i don't think would fit but the others just historical again i think, std.ascii has been there for ages.
socket and uri are technically more than net but again they just been there forever so historical.
std.array works with the built in language arrays and container.array replaces it.
zlib is gz fyi. but arsd has many of those! OpenD will soon include the arsd libs too.
There used to be std.xml but they removed it. But again, arsd has many of these, so opend does too! If you want to search things you can use my dpldocs.info search engine |
Beta Was this translation helpful? Give feedback.
-
We should lay down some rules on adding stuff to phobos. Just so everyone is clear what's expected to add a new module. And while we're at it, since openD hasn't made a release yet, now's a good time to do any fundamental reorgs of std.*. For compatibility with code ported from upstream, we should leave stub public imports in the old paths so that old code will still compile without a problem, but new code should be written to the new structure. |
Beta Was this translation helpful? Give feedback.
-
There are some great suggestions posed here. They just need to be coalesced into a coherent plan and executed upon. Suggested plan:
Yea? Nay? Rude noises? |
Beta Was this translation helpful? Give feedback.
-
Since this group seems to know D very well, I want to ask this question here:
What is the hidden logic in the organization of the standard library?
If you have used D for a long time, I guess all of this is in your muscle memory, but from the outside the following seems to be a bit weird:
While some of this list is a bit sarcastic, I hope you get my overall point.
I guess some of it is historical, to reduce typing, but as the stdlib grows, it becomes difficult to find stuff, because you have to look everywhere.
Does anyone know the overall organization principles of this stdlib? Why was this never cleaned up?
Beta Was this translation helpful? Give feedback.
All reactions