digitalmars.D - Documentation Improvement Initiative
- Mike Parker (30/30) Feb 17 2020 Preliminary discussions are underway for a new event to encourage
- bachmeier (3/7) Feb 17 2020 This is a working link:
- bachmeier (11/17) Feb 17 2020 Sorry for this not being more specific, but we need a version of
- Panke (7/17) Feb 17 2020 I'd second this. Figuring out how sub packages work, how to
- Martin Tschierschke (4/15) Feb 18 2020 Yes better docs for DUB!
- Jan =?UTF-8?B?SMO2bmln?= (28/28) Feb 18 2020 I think there are two ways of looking at the documentation: from
- bachmeier (13/15) Feb 18 2020 I strongly agree with this. D's website is oriented towards
- bachmeier (9/11) Feb 17 2020 The documentation for cross compiling/linking using LDC isn't
- bachmeier (3/14) Feb 17 2020 Sorry, forgot the link to the page that should be improved:
- bachmeier (9/11) Feb 17 2020 I once tried to use std.socket:
- Andre Pany (6/17) Feb 17 2020 Adam D. Ruppe wrote a very good socket tutorial. You can find it
- bachmeier (3/22) Feb 17 2020 That looks pretty good. It would have to be incorporated into our
- JN (5/16) Feb 17 2020 I think one of these could be incorporated as an example, either
- Daren Scot Wilson (20/31) May 07 2020 I am exactly such a person today! The last time I did anything
- jxel (6/6) Feb 17 2020 Literally nothing in core.stdc has documentation. Would rather
- RazvanN (34/34) Feb 17 2020 On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:
- Panke (5/11) Feb 18 2020 A timeline of current language changes would be nice. What is
- James Blachly (2/6) Feb 18 2020 Seconding this as CRITICAL as the language evolves
- H. S. Teoh (17/28) Feb 18 2020 [...]
- Adam D. Ruppe (7/8) Feb 18 2020 http://dpldocs.info/locate/?searchTerm=std.windows.registry
- H. S. Teoh (6/18) Feb 18 2020 Maybe we should *replace* the current docs with dpldocs... Make dpldocs
- Les De Ridder (7/26) Feb 19 2020 I frankly much prefer the current docs over dpldocs. While dpldocs
- Paolo Invernizzi (3/21) Feb 19 2020 +1 ...
- bachmeier (6/37) Feb 19 2020 I agree. It's not a problem for me, but if it's the *official*
- Adam D. Ruppe (10/12) Feb 19 2020 If you send me a concept sketch or css suggestion we can talk
- bachmeier (18/30) Feb 19 2020 If it's going to become the official documentation, it needs to
- Adam D. Ruppe (38/46) Feb 19 2020 That's because the author of that project wrote near-zero
- John Colvin (3/9) Feb 20 2020 That's pretty cool
- Les De Ridder (17/24) Feb 19 2020 I don't particularly feel like bikeshedding too much about what it
- Mike Parker (7/11) Feb 19 2020 Guys, can we please keep this thread focused on specific
- John Colvin (9/21) Feb 20 2020 My general problem with most docs is that I actually prefer the
- H. S. Teoh (9/17) Feb 21 2020 Yeah, the one-page doc is nicer because you can actually search for
- Adam D. Ruppe (9/13) Feb 21 2020 But on the other hand, external search engines do a very poor job
- Mathias Lang (35/66) Feb 19 2020 1. Dub documentation
- Andrea Fontana (11/24) Feb 20 2020 I would add a thing. Consider this:
- Kagamin (1/1) Feb 23 2020 https://abload.de/img/tmpenki4.png - web 2.0 went too far.
- p.shkadzko (13/44) Mar 02 2020 I would really like to see "Mir" library docs get more love:
- jmh530 (9/22) Mar 02 2020 I agree that there could be some improvement here. I've intended
- p.shkadzko (3/13) Mar 03 2020 I'd love to help and write some docs. Maybe something like a
- jmh530 (2/5) Mar 03 2020 If you need someone to review it, I'd be happy to.
- bachmeier (7/10) Mar 02 2020 We need documentation of strategies to optimize your code to get
- Panke (2/6) May 02 2020 Any news here?
- Mike Parker (3/10) May 02 2020 Not yet. It's going to happen at some point if we can sort out
- Jan =?UTF-8?B?SMO2bmln?= (34/36) May 03 2020 Insight from a D newcomer for easier Dlang accessibility. Not
- Jan =?UTF-8?B?SMO2bmln?= (5/9) May 05 2020 I felt encouraged today, so I created this list[1]
- Mike Parker (7/16) May 05 2020 Thanks!
- WebFreak001 (17/38) May 05 2020 How about also cleaning up documentation how it looks on the web?
- Jan =?UTF-8?B?SMO2bmln?= (3/20) May 06 2020 Please add it to the wiki.
- David Gileadi (7/48) May 06 2020 Incidentally in my -preview=markdown changes putting a symbol in
- Adam D. Ruppe (9/12) May 06 2020 Yeah, my adrdox does something similar.
- Guillaume Piolat (26/51) May 08 2020 Recently I spent more than 15 minutes trying to **get the Date of
- Steven Schveighoffer (8/69) May 08 2020 You can do:
- jmh530 (3/14) May 08 2020 I think this should be in phobos, regardless of the documentation
- Jan =?UTF-8?B?SMO2bmln?= (8/8) Jun 25 2020 Today I was very satisfied with the dub documentation.
Preliminary discussions are underway for a new event to encourage improvements to documentation across the D ecosystem. I can't provide any details yet because the details aren't yet fixed. I don't even know for sure it's going to happen. However, the best way to make it happen is for us to have a solid set of well-defined documentation tasks. Putting that together is going to require help from the community. All of us have encountered areas where improvement is needed in the spec, the Phobos docs, and docs for dub, vibe.d, and many other tools and projects around the D ecosystem. Some of it has made it into Bugzilla (which will be mined for material), but much of it has been buried in the forum archives or evaporated into the ether from the IRC/Discord/Slack channels. This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post): http://dlang.org/blog/2020/02/17/news-update-swag…on-help-and-more/ As I mention there, we need you to be as specific as you can. What, specifically, is missing? What is unclear? What is incorrect? Give as much detail as you can. We want to be able to gather this info and define specific documentation tasks that anyone can step in and complete with the information provided. Any project in the D ecosystem is fair game. So please help us out and tell us how D documentation can be improved for you. If you feel the urge to wax philosophical on something you see here, please start a new thread and do all the philosophical waxing you want there. Let's keep this one focused on listing specific documentation issues. Do feel free to expand on any post here with information you think is relevant. Thanks!
Feb 17 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post): http://dlang.org/blog/2020/02/17/news-update-swag…on-help-and-more/This is a working link: https://dlang.org/blog/2020/02/17/news-update-swag-platforms-documentation-help-and-more/
Feb 17 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:As I mention there, we need you to be as specific as you can. What, specifically, is missing? What is unclear? What is incorrect? Give as much detail as you can. We want to be able to gather this info and define specific documentation tasks that anyone can step in and complete with the information provided.Sorry for this not being more specific, but we need a version of Rust's "The Cargo Book" for D: https://doc.rust-lang.org/cargo/ The reason I can't be more specific is because I don't use Dub except when doing so is trivial. We need documentation in particular on using Dub with mixed language projects. The obvious case is C and D, but one of our strengths is interoperability with basically all languages, so we should have examples showing how to use Dub with projects containing Fortran, Python, Lua, etc.
Feb 17 2020
On Monday, 17 February 2020 at 12:52:09 UTC, bachmeier wrote:Sorry for this not being more specific, but we need a version of Rust's "The Cargo Book" for D: https://doc.rust-lang.org/cargo/ The reason I can't be more specific is because I don't use Dub except when doing so is trivial. We need documentation in particular on using Dub with mixed language projects. The obvious case is C and D, but one of our strengths is interoperability with basically all languages, so we should have examples showing how to use Dub with projects containing Fortran, Python, Lua, etc.I'd second this. Figuring out how sub packages work, how to structure a project into different interdependent sub packages, how to fetch dependencies (dub upgrade does not work recursively :() took way too long coming back to D. Generally a bit of best practice guidelines would be useful, see for example the my current question in the learn forum.
Feb 17 2020
On Monday, 17 February 2020 at 13:55:57 UTC, Panke wrote: [...]Yes better docs for DUB! With as many - as possible - use case examples.We need documentation in particular on using Dub with mixed language projects. The obvious case is C and D, but one of our strengths is interoperability with basically all languages, so we should have examples showing how to use Dub with projects containing Fortran, Python, Lua, etc.I'd second this. Figuring out how sub packages work, how to structure a project into different interdependent sub packages, how to fetch dependencies (dub upgrade does not work recursively :() took way too long coming back to D. Generally a bit of best practice guidelines would be useful, see for example the my current question in the learn forum.
Feb 18 2020
I think there are two ways of looking at the documentation: from the expert's eyes and the beginner's eyes. I can provide feedback from the latter: It takes some time to learn how to navigate in the library reference. But this comes with time. (and also with my inpatiance, since I am the "click a lot, read in detail later" type of guy). What I lacked most was Ali's book. It answered many questions (especially regarding ranges). So for beginners, a more detailed tutorial (or a more prominent link to Ali's book) would be great. Yes, sometimes, I find something in the wiki. There are some tutorials and some cookbooks. However, the information is scattered, sometimes outdated. Scattering of the information is even worse if I think about random tutorials or blogs on the internet. The language reference is sometimes challenging to read (again for beginners). They have essential examples, but if you don't have the experience, it is sometimes tough to utilize the provided information and incorporate it into your code. My workflow usually involves a simple feature, which I then try to use; however, a simple one-liner does not cover my problem. On the other hand, too exhaustive examples will clutter the documentation. For beginners, a more used wiki with concentrated information would be great. However this is a D-Community solution. (and maybe i am wrong. Maybe the wiki is great and I am not long enough around to read it threw).
Feb 18 2020
On Tuesday, 18 February 2020 at 15:42:18 UTC, Jan Hönig wrote:For beginners, a more used wiki with concentrated information would be great.I strongly agree with this. D's website is oriented towards search, which is a good way to find information if you know what you're looking for, but that's hardly optimal for a beginner. For some reason our wiki isn't used much, so we only have ourselves to blame. Maybe part of a documentation improvement initiative is finding ways to encourage wiki contributions contribute more to the wiki. Maybe it's because people think you need special authority to post things there. Honestly, there's a lot of stuff in the learn forum that deserves to be organized and put on the wiki IMO. The important question is: What is not on the wiki that should be there?
Feb 18 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:This thread is a place to collect your documentation pain in one place.The documentation for cross compiling/linking using LDC isn't exactly what I'd call user friendly. It would really help to have a complete example so that someone can be up and running within five minutes. It would also be nice to have an example that avoids Dub altogether, and to the extent that examples do use Dub, they're complete and can be used by a beginner to the language (so at least brief explanations of Dub usage is explained, with links to proper documentation).
Feb 17 2020
On Monday, 17 February 2020 at 15:01:32 UTC, bachmeier wrote:On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Sorry, forgot the link to the page that should be improved: https://wiki.dlang.org/Cross-compiling_with_LDCThis thread is a place to collect your documentation pain in one place.The documentation for cross compiling/linking using LDC isn't exactly what I'd call user friendly. It would really help to have a complete example so that someone can be up and running within five minutes. It would also be nice to have an example that avoids Dub altogether, and to the extent that examples do use Dub, they're complete and can be used by a beginner to the language (so at least brief explanations of Dub usage is explained, with links to proper documentation).
Feb 17 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:This thread is a place to collect your documentation pain in one place.I once tried to use std.socket: https://dlang.org/phobos/std_socket.html Although it does link to a couple of examples, they don't have any explanation, so I gave up. An example where you're up and running in five minutes using Dub would be really nice. It's pretty clear that the documentation for std.socket assumes the user has learned sockets programming in another language before coming to D. We should remove that prerequisite.
Feb 17 2020
On Monday, 17 February 2020 at 15:09:39 UTC, bachmeier wrote:On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Adam D. Ruppe wrote a very good socket tutorial. You can find it here http://dpldocs.info/this-week-in-d/Blog.Posted_2019_11_11.html Kind regards AndreThis thread is a place to collect your documentation pain in one place.I once tried to use std.socket: https://dlang.org/phobos/std_socket.html Although it does link to a couple of examples, they don't have any explanation, so I gave up. An example where you're up and running in five minutes using Dub would be really nice. It's pretty clear that the documentation for std.socket assumes the user has learned sockets programming in another language before coming to D. We should remove that prerequisite.
Feb 17 2020
On Monday, 17 February 2020 at 18:48:25 UTC, Andre Pany wrote:On Monday, 17 February 2020 at 15:09:39 UTC, bachmeier wrote:That looks pretty good. It would have to be incorporated into our official docs though, at least by providing a link.On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Adam D. Ruppe wrote a very good socket tutorial. You can find it here http://dpldocs.info/this-week-in-d/Blog.Posted_2019_11_11.html Kind regards AndreThis thread is a place to collect your documentation pain in one place.I once tried to use std.socket: https://dlang.org/phobos/std_socket.html Although it does link to a couple of examples, they don't have any explanation, so I gave up. An example where you're up and running in five minutes using Dub would be really nice. It's pretty clear that the documentation for std.socket assumes the user has learned sockets programming in another language before coming to D. We should remove that prerequisite.
Feb 17 2020
On Monday, 17 February 2020 at 15:09:39 UTC, bachmeier wrote:On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:I think one of these could be incorporated as an example, either Adam's or Ali's code: https://forum.dlang.org/thread/cexeumxikeovazyotkfl forum.dlang.org I always use those when starting a new D networked project.This thread is a place to collect your documentation pain in one place.I once tried to use std.socket: https://dlang.org/phobos/std_socket.html Although it does link to a couple of examples, they don't have any explanation, so I gave up. An example where you're up and running in five minutes using Dub would be really nice. It's pretty clear that the documentation for std.socket assumes the user has learned sockets programming in another language before coming to D. We should remove that prerequisite.
Feb 17 2020
On Monday, 17 February 2020 at 15:09:39 UTC, bachmeier wrote:On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:I am exactly such a person today! The last time I did anything with sockets was 15 (?) years ago, and was very basic, and only for part of one day. This week, I wanted to toss together a quickie tool to send some test data in binary over UDP to another machine. I had to forget about the "quickie" part of that. All the info I need about D and its libraries is there, but often details are hard to find if I don't already know the name of the module to look in. More examples would help. Just basic usage examples, not too basic, but enough to do something simple. Running off somewhere else to learn UDP sockets in C or Python or whatever then coming back isn't my idea of efficiency. Would-be users of D coming from science, engineering, fine arts, economics, robotics, or wherever, are likely to be interested in the good features of D but unlikely to want to learn another language to understand some feature, such as sockets. D documentation shouldn't try to explain these sorts of things from scratch, of course, but a few of the very fundamental ideas need to be shown in an example and a few words.This thread is a place to collect your documentation pain in one place.I once tried to use std.socket: https://dlang.org/phobos/std_socket.html Although it does link to a couple of examples, they don't have any explanation, so I gave up. An example where you're up and running in five minutes using Dub would be really nice. It's pretty clear that the documentation for std.socket assumes the user has learned sockets programming in another language before coming to D. We should remove that prerequisite.
May 07 2020
Literally nothing in core.stdc has documentation. Would rather have the documentation be there when you auto complete or 'go to definition' in an editor. Same with system libraries in core.sys. What's worse there is that the parameter names for the functions are just 'a', 'b', 'c', etc... Instead of the name of the actual argument.
Feb 17 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:The elephant in the room is the DMD codebase. Examples: 1. https://dlang.org/phobos/dmd_apply.html Empty page, with no explanation of what is the purpose of the page 2. https://dlang.org/phobos/dmd_attrib.html Most of the documentation is non-existent, lacking or insufficient to understand what happend 3. https://dlang.org/phobos/dmd_expression.html Most classes have no explanation. I would expect that each class would be followed by some pieces of code that highlight to what code the class maps 4. https://dlang.org/phobos/dmd_traits.html It's missing documentation for the single most important function in the file: semanticTraits which does semantic analysis for `__traits()` These are just a few examples, but the dmd codebase is full of such examples. In addition, now that dmd as a library is available, things are worse because people have no way of using it effectively since they cannot understand what's happening there. Moreover, it is impossible to attract new contributors when a complex piece of software is severely underdocumented. Besides documenting this code, I think it is necessary in some situations to refactor the code so that we can highlight the documentation. For example, the traits file in dmd (link number 4) contains a single function `semanticTraits` which has 1500 lines of code and contains the whole traits semantic logic organized as if/else branches. The documentation for those branches will not be publicly available, so we must refactor the code to use separate functions. This will make the code cleaner and help us with documentation which is a great plus. I gave this example because it is typical for a lot of situations in the dmd codebase. So not only it is a great chance to improve the documentation of dmd, but also to make the codebase more modern.
Feb 17 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:If you feel the urge to wax philosophical on something you see here, please start a new thread and do all the philosophical waxing you want there. Let's keep this one focused on listing specific documentation issues. Do feel free to expand on any post here with information you think is relevant. Thanks!A timeline of current language changes would be nice. What is currently deprecated and when will it be removed, what can be found under `dmd -preview=?` and when it will be part of the language or if it is just under consideration.
Feb 18 2020
On 2/18/20 10:59 AM, Panke wrote:A timeline of current language changes would be nice. What is currently deprecated and when will it be removed, what can be found under `dmd -preview=?` and when it will be part of the language or if it is just under consideration.Seconding this as CRITICAL as the language evolves
Feb 18 2020
On Mon, Feb 17, 2020 at 12:16:26PM +0000, Mike Parker via Digitalmars-d wrote: [...]This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post): http://dlang.org/blog/2020/02/17/news-update-swag…on-help-and-more/ As I mention there, we need you to be as specific as you can. What, specifically, is missing? What is unclear? What is incorrect? Give as much detail as you can. We want to be able to gather this info and define specific documentation tasks that anyone can step in and complete with the information provided.[...] std.windows.registry does not have any docs. The website doesn't even have a link for it! (And going to the page by editing the URL manually brings up a page with no docs for any symbol.) Note that the code itself *does* have docs; the problem is that the website docs are generated on Posix but all symbols in this module are under version(Windows). We seriously need to generate docs for *all* platforms, not just the one being used to generate them! (The other std.windows.* modules have the version(StdDoc) hack, but that's seriously b0rken because what's used to generate docs is different from what actually compiles, meaning any mistakes will not be caught by CI, code examples are not compile-checked, etc..) T -- People tell me that I'm skeptical, but I don't believe them.
Feb 18 2020
On Tuesday, 18 February 2020 at 18:39:57 UTC, H. S. Teoh wrote:std.windows.registry does not have any docs.http://dpldocs.info/locate/?searchTerm=std.windows.registry This is one of the big reasons why I decided *against* using dmd for my doc generation thing - it actually follows `version` rules which is necessary for compiling, but a bad thing for docs! So instead I did a separate parser. Join me and together we rule the Dalaxy with good documentation!
Feb 18 2020
On Tue, Feb 18, 2020 at 07:08:56PM +0000, Adam D. Ruppe via Digitalmars-d wrote:On Tuesday, 18 February 2020 at 18:39:57 UTC, H. S. Teoh wrote:Maybe we should *replace* the current docs with dpldocs... Make dpldocs the official doc system. Throw out the current half-baked stuff... T -- Without outlines, life would be pointless.std.windows.registry does not have any docs.http://dpldocs.info/locate/?searchTerm=std.windows.registry This is one of the big reasons why I decided *against* using dmd for my doc generation thing - it actually follows `version` rules which is necessary for compiling, but a bad thing for docs! So instead I did a separate parser. Join me and together we rule the Dalaxy with good documentation!
Feb 18 2020
On Tuesday, 18 February 2020 at 20:50:19 UTC, H. S. Teoh wrote:On Tue, Feb 18, 2020 at 07:08:56PM +0000, Adam D. Ruppe via Digitalmars-d wrote:I frankly much prefer the current docs over dpldocs. While dpldocs might be technically superior, the UI is quite bad, it looks cold and cluttered to me. A large part of this can probably be fixed through CSS changes, though.On Tuesday, 18 February 2020 at 18:39:57 UTC, H. S. Teoh wrote:Maybe we should *replace* the current docs with dpldocs... Make dpldocs the official doc system. Throw out the current half-baked stuff... Tstd.windows.registry does not have any docs.http://dpldocs.info/locate/?searchTerm=std.windows.registry This is one of the big reasons why I decided *against* using dmd for my doc generation thing - it actually follows `version` rules which is necessary for compiling, but a bad thing for docs! So instead I did a separate parser. Join me and together we rule the Dalaxy with good documentation!
Feb 19 2020
On Wednesday, 19 February 2020 at 11:15:33 UTC, Les De Ridder wrote:On Tuesday, 18 February 2020 at 20:50:19 UTC, H. S. Teoh wrote:+1 ...On Tue, Feb 18, 2020 at 07:08:56PM +0000, Adam D. Ruppe via Digitalmars-d wrote:I frankly much prefer the current docs over dpldocs. While dpldocs might be technically superior, the UI is quite bad, it looks cold and cluttered to me. A large part of this can probably be fixed through CSS changes, though.[...]Maybe we should *replace* the current docs with dpldocs... Make dpldocs the official doc system. Throw out the current half-baked stuff... T
Feb 19 2020
On Wednesday, 19 February 2020 at 11:15:33 UTC, Les De Ridder wrote:On Tuesday, 18 February 2020 at 20:50:19 UTC, H. S. Teoh wrote:I agree. It's not a problem for me, but if it's the *official* documentation generator, it needs a better design. That shouldn't take much though. These days there are tons of static site generators, so it's easy to steal a design.On Tue, Feb 18, 2020 at 07:08:56PM +0000, Adam D. Ruppe via Digitalmars-d wrote:I frankly much prefer the current docs over dpldocs. While dpldocs might be technically superior, the UI is quite bad, it looks cold and cluttered to me. A large part of this can probably be fixed through CSS changes, though.On Tuesday, 18 February 2020 at 18:39:57 UTC, H. S. Teoh wrote:Maybe we should *replace* the current docs with dpldocs... Make dpldocs the official doc system. Throw out the current half-baked stuff... Tstd.windows.registry does not have any docs.http://dpldocs.info/locate/?searchTerm=std.windows.registry This is one of the big reasons why I decided *against* using dmd for my doc generation thing - it actually follows `version` rules which is necessary for compiling, but a bad thing for docs! So instead I did a separate parser. Join me and together we rule the Dalaxy with good documentation!
Feb 19 2020
On Wednesday, 19 February 2020 at 11:15:33 UTC, Les De Ridder wrote:A large part of this can probably be fixed through CSS changes, though.If you send me a concept sketch or css suggestion we can talk about it. I have a somewhat long list of things that I'm not happy with, though any fix for those needs to not break the things that do work... and the problem I've had isn't so much identifying the problems as finding the solutions. So I'd prefer specific fix ideas over general "I don't like this" things.
Feb 19 2020
On Wednesday, 19 February 2020 at 16:37:41 UTC, Adam D. Ruppe wrote:On Wednesday, 19 February 2020 at 11:15:33 UTC, Les De Ridder wrote:If it's going to become the official documentation, it needs to match the existing website 100%. That's not currently the case. The other thing that immediately stands out to me when I click a random project's documentation, like this: https://hunt-database.dpldocs.info/hunt.html is that the page doesn't contain a lot of information. This https://dlang.org/phobos/std_range.html is much more approachable. Maybe that can be avoided, I don't know, but the first example doesn't bring me joy. I'm not the biggest fan of all the information on this page (comparing apples to apples now): http://dpldocs.info/experimental-docs/std.range.html I think it would be better to be able to click to expand if you want information about types. iota, for instance, is cluttered but the extra information doesn't bring much to the table. I also don't understand why the functions are listed twice.A large part of this can probably be fixed through CSS changes, though.If you send me a concept sketch or css suggestion we can talk about it. I have a somewhat long list of things that I'm not happy with, though any fix for those needs to not break the things that do work... and the problem I've had isn't so much identifying the problems as finding the solutions. So I'd prefer specific fix ideas over general "I don't like this" things.
Feb 19 2020
On Wednesday, 19 February 2020 at 17:09:02 UTC, bachmeier wrote:The other thing that immediately stands out to me when I click a random project's documentation, like this: https://hunt-database.dpldocs.info/hunt.html is that the page doesn't contain a lot of information.That's because the author of that project wrote near-zero documentation. I can't fix that myself.I think it would be better to be able to click to expand if you want information about types. iota, for instance, is cluttered but the extra information doesn't bring much to the table.Yeah, the members list is one of the things I'm not really happy with. I'm not sure there's any real value in separating out classes, structs, enums, etc., and I do think it shows too much there. I did just fix a bug in it so it doesn't duplicate those function prototypes (actually the technical difference was they had separate constraints, but sine that isn't visible here it looked like a total duplicate and waste) anymore. But the other worry is the information on the right. Part of this is that the documentation in the source doesn't really follow the spec. https://dlang.org/spec/ddoc.html#summary says the first thing in a ddoc comment is supposed to be a short summary. Then you put in a paragraph break and write the rest of your details. Though maybe I can just limit the size on my side though. But yeah this members list is one of the things I was never actually happy with so I'm open to any ideas to change it, potentially up to a total replacement. if you refresh this now you can see some changes: http://dpldocs.info/experimental-docs/std.range.htmlI also don't understand why the functions are listed twice.Ddoc's limitations led to the authors writing it out by hand, but then my generator auto-generates a list and doesn't realize the hand-written list is there (and even if it did, the hand written list is frequently incomplete!). So now it has both. The ddox version on the official site does basically the same thing for the same reason: https://dlang.org/library/std/range.html ddox strips types out of its listing on the left, something I've also considered, but I find types to be really useful... My generator also has the ability to group functions into categories http://dpldocs.info/experimental-docs/arsd.nanovega.html#members but that requires a tag be added to the source and Phobos does the hand-written tables instead of tags on the functions since ddoc doesn't support tagging anyway. so bleh.
Feb 19 2020
On Wednesday, 19 February 2020 at 20:47:11 UTC, Adam D. Ruppe wrote:My generator also has the ability to group functions into categories http://dpldocs.info/experimental-docs/arsd.nanovega.html#members but that requires a tag be added to the source and Phobos does the hand-written tables instead of tags on the functions since ddoc doesn't support tagging anyway. so bleh.That's pretty cool
Feb 20 2020
On Wednesday, 19 February 2020 at 16:37:41 UTC, Adam D. Ruppe wrote:On Wednesday, 19 February 2020 at 11:15:33 UTC, Les De Ridder wrote:I don't particularly feel like bikeshedding too much about what it should look like, I'm not great at UI design. That said, I think the design of the current official docs is pretty good and fits in well with the rest of dlang.org. Some of the things that I think would help: add more padding, simplify the colour scheme, use monospaced fonts, use less bold fonts. Examples after fiddling around with the CSS for a couple minutes: Before: https://u.sicp.me/m2sMw.png After: https://u.sicp.me/ieJht.png Official docs: https://u.sicp.me/kzZTg.png (Maybe we ought to move this to a seperate thread or to IRC/Slack?)A large part of this can probably be fixed through CSS changes, though.[...] So I'd prefer specific fix ideas over general "I don't like this" things.
Feb 19 2020
On Thursday, 20 February 2020 at 00:11:58 UTC, Les De Ridder wrote:On Wednesday, 19 February 2020 at 16:37:41 UTC, Adam D. Ruppe wrote:Guys, can we please keep this thread focused on specific documentation issues like I asked? I want as many issues as we can get and to be able to go through the thread without wading through lots of off topic discussion. Thanks!On Wednesday, 19 February 2020 at 11:15:33 UTC, Les De Ridder wrote:
Feb 19 2020
On Wednesday, 19 February 2020 at 16:37:41 UTC, Adam D. Ruppe wrote:On Wednesday, 19 February 2020 at 11:15:33 UTC, Les De Ridder wrote:My general problem with most docs is that I actually prefer the "one big page" approach per-module. The practical relationships between functions, objects, methods and members often aren't hierarchical and it's so much easier to get an overview by scrolling through a larger page. The same reason applies to why I almost never use code-folding in an editor.A large part of this can probably be fixed through CSS changes, though.If you send me a concept sketch or css suggestion we can talk about it. I have a somewhat long list of things that I'm not happy with, though any fix for those needs to not break the things that do work... and the problem I've had isn't so much identifying the problems as finding the solutions. So I'd prefer specific fix ideas over general "I don't like this" things.
Feb 20 2020
On Thu, Feb 20, 2020 at 10:21:25AM +0000, John Colvin via Digitalmars-d wrote: [...]My general problem with most docs is that I actually prefer the "one big page" approach per-module. The practical relationships between functions, objects, methods and members often aren't hierarchical and it's so much easier to get an overview by scrolling through a larger page. The same reason applies to why I almost never use code-folding in an editor.Yeah, the one-page doc is nicer because you can actually search for keywords on the page and find what you want, instead of having to click on who knows how many links just to get to the one place you already know is there. T -- Marketing: the art of convincing people to pay for what they didn't need before which you fail to deliver after.
Feb 21 2020
On Friday, 21 February 2020 at 19:27:51 UTC, H. S. Teoh wrote:Yeah, the one-page doc is nicer because you can actually search for keywords on the page and find what you want, instead of having to click on who knows how many links just to get to the one place you already know is there.But on the other hand, external search engines do a very poor job actually getting you there. That's why my site does a bit of both: dpldocs.info/std.ascii will search for you, the module page has an overview listing of members, and you have clear URLs for outside linking. Even on the current dlang.org site, the ddox versions are more likely to pop up on outside web searches than the ddoc single page one!
Feb 21 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Preliminary discussions are underway for a new event to encourage improvements to documentation across the D ecosystem. I can't provide any details yet because the details aren't yet fixed. I don't even know for sure it's going to happen. However, the best way to make it happen is for us to have a solid set of well-defined documentation tasks. Putting that together is going to require help from the community. All of us have encountered areas where improvement is needed in the spec, the Phobos docs, and docs for dub, vibe.d, and many other tools and projects around the D ecosystem. Some of it has made it into Bugzilla (which will be mined for material), but much of it has been buried in the forum archives or evaporated into the ether from the IRC/Discord/Slack channels. This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post): http://dlang.org/blog/2020/02/17/news-update-swag…on-help-and-more/ As I mention there, we need you to be as specific as you can. What, specifically, is missing? What is unclear? What is incorrect? Give as much detail as you can. We want to be able to gather this info and define specific documentation tasks that anyone can step in and complete with the information provided. Any project in the D ecosystem is fair game. So please help us out and tell us how D documentation can be improved for you. If you feel the urge to wax philosophical on something you see here, please start a new thread and do all the philosophical waxing you want there. Let's keep this one focused on listing specific documentation issues. Do feel free to expand on any post here with information you think is relevant. Thanks!1. Dub documentation DUB needs much, much better documentation. Especially cookbooks (there's already some, but it is not accessible enough IMO). Example of how to structure a project (writing a library with an executable, writing a project with examples that are separate and compile, writing a client/server app or any two apps linked together, writing a project that interface with C/C++, writing a project that use some preprocessor, e.g. dtoh, etc..). Some of this documentation will *also* require fixes to Dub (e.g. https://github.com/dlang/dub/issues/1474 for anything using preprocessor). There is a feature that allows a project to provide skeleton for apps using it, it might also be useful to try to do it with a few projects. 2. DMD documentation Inexistent. Enough said. 3. C++ interfacing documentation The documentation for interfacing with C++ is ridiculously outdated (e.g. it says that operators overloads are not callable from D). I am currently rewriting it. Also, some other features are not documented. It would be helpful to have a language expert going over it and see what missing (e.g. yesterday I found out `pragma(crt_{con,de}structor)` was missing, despite being in the language since 2018-01-01). But I don't have specific example of missing features ATM. 4. Documentation history https://issues.dlang.org/show_bug.cgi?id=20588 5. More pattern documentation Some of https://github.com/zhaopuming/awesome-d could be integrated in the website, e.g. I've never heard of https://garden.dlang.io/ before! Likewise, http://p0nce.github.io/d-idioms/ provide amazing tips. One (anecdotal) example is that `enum` is over-used in the docs while `static immutable` (with initializer) should arguably be the default for people.
Feb 19 2020
On Thursday, 20 February 2020 at 03:32:50 UTC, Mathias Lang wrote:On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:I would add a thing. Consider this: bool isSameLength(Range1, Range2)(Range1 r1, Range2 r2) if (isInputRange!Range1 && isInputRange!Range2 && !isInfinite!Range1 && !isInfinite!Range2); It's a pretty easy example of a function template. But I guess it is quite confusing for a newcomer. Why do we need to focus documentation on function signature? Can't we replace the function signature as main piece of information with something more easier to read for a newcomer? Andrea[...]1. Dub documentation I agree. Some of this documentation will *also* require fixes to Dub (e.g. https://github.com/dlang/dub/issues/1474 for anything using preprocessor). There is a feature that allows a project to provide skeleton for apps using it, it might also be useful to try to do it with a few projects. 2. DMD documentation I agree. Not only code documentation but also overview & c. It's very difficult to help with dmd development starting from nothing.
Feb 20 2020
https://abload.de/img/tmpenki4.png - web 2.0 went too far.
Feb 23 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Preliminary discussions are underway for a new event to encourage improvements to documentation across the D ecosystem. I can't provide any details yet because the details aren't yet fixed. I don't even know for sure it's going to happen. However, the best way to make it happen is for us to have a solid set of well-defined documentation tasks. Putting that together is going to require help from the community. All of us have encountered areas where improvement is needed in the spec, the Phobos docs, and docs for dub, vibe.d, and many other tools and projects around the D ecosystem. Some of it has made it into Bugzilla (which will be mined for material), but much of it has been buried in the forum archives or evaporated into the ether from the IRC/Discord/Slack channels. This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post): http://dlang.org/blog/2020/02/17/news-update-swag…on-help-and-more/ As I mention there, we need you to be as specific as you can. What, specifically, is missing? What is unclear? What is incorrect? Give as much detail as you can. We want to be able to gather this info and define specific documentation tasks that anyone can step in and complete with the information provided. Any project in the D ecosystem is fair game. So please help us out and tell us how D documentation can be improved for you. If you feel the urge to wax philosophical on something you see here, please start a new thread and do all the philosophical waxing you want there. Let's keep this one focused on listing specific documentation issues. Do feel free to expand on any post here with information you think is relevant. Thanks!I would really like to see "Mir" library docs get more love: http://mir-algorithm.libmir.org Being a D beginner and coming from Python world I struggle to understand why and how some examples work. I lack trivial information and for the most part the context. How is mir.ndslice `Slice` entity is different from D multidimensional array and why is it different in the first place. What is the big purpose and goal of the library documentation? When should we prefer it over traditional D arrays, etc. etc. This stuff belongs in the library. Right now mir docs are dry and incomplete which is a shame since it could grow into a serious Numpy alternative and bring more people into D.
Mar 02 2020
On Monday, 2 March 2020 at 14:13:16 UTC, p.shkadzko wrote:[snip] I would really like to see "Mir" library docs get more love: http://mir-algorithm.libmir.org Being a D beginner and coming from Python world I struggle to understand why and how some examples work. I lack trivial information and for the most part the context. How is mir.ndslice `Slice` entity is different from D multidimensional array and why is it different in the first place. What is the big purpose and goal of the library documentation? When should we prefer it over traditional D arrays, etc. etc. This stuff belongs in the library. Right now mir docs are dry and incomplete which is a shame since it could grow into a serious Numpy alternative and bring more people into D.I agree that there could be some improvement here. I've intended to write something up, but haven't. There is a blog post from Shigeki Karita that is listed in the readme.md that I recall doing a decent job, but it is in Japanese and Google Translate doesn't seem to run on it anymore. I think there is an issue with the certificate or something. Probably just making a English version of it more easily available would be a step in the right direction.
Mar 02 2020
On Monday, 2 March 2020 at 16:55:36 UTC, jmh530 wrote:On Monday, 2 March 2020 at 14:13:16 UTC, p.shkadzko wrote:I'd love to help and write some docs. Maybe something like a simplistic tutorial that Numpy has would already be great.[...]I agree that there could be some improvement here. I've intended to write something up, but haven't. There is a blog post from Shigeki Karita that is listed in the readme.md that I recall doing a decent job, but it is in Japanese and Google Translate doesn't seem to run on it anymore. I think there is an issue with the certificate or something. Probably just making a English version of it more easily available would be a step in the right direction.
Mar 03 2020
On Tuesday, 3 March 2020 at 15:30:40 UTC, p.shkadzko wrote:[snip] I'd love to help and write some docs. Maybe something like a simplistic tutorial that Numpy has would already be great.If you need someone to review it, I'd be happy to.
Mar 03 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post):We need documentation of strategies to optimize your code to get the best performance. There are numerous hacks that people suggest - look at this example https://forum.dlang.org/post/ezomjijivexzrwtbtahn forum.dlang.org but we should be able to link to a guide. Related to this, we need documentation on strategies to write programs without the GC.
Mar 02 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Preliminary discussions are underway for a new event to encourage improvements to documentation across the D ecosystem. I can't provide any details yet because the details aren't yet fixed. I don't even know for sure it's going to happen.Any news here?
May 02 2020
On Saturday, 2 May 2020 at 18:02:11 UTC, Panke wrote:On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Not yet. It's going to happen at some point if we can sort out enough concrete documentation tasks.Preliminary discussions are underway for a new event to encourage improvements to documentation across the D ecosystem. I can't provide any details yet because the details aren't yet fixed. I don't even know for sure it's going to happen.Any news here?
May 02 2020
On Sunday, 3 May 2020 at 01:37:54 UTC, Mike Parker wrote:Not yet. It's going to happen at some point if we can sort out enough concrete documentation tasks.Insight from a D newcomer for easier Dlang accessibility. Not everything is documentation per se: - promote wiki.dlang.org directly on D's webpage - promote authors to copy/write/(at least link) articles/tutorials/cookbooks on the wiki (there are many, but also many are scattered threw out the web) - copy Dlang's blog to wiki (keep the blog, but collect information in one place. Plus points if directly sorted what the blog post was: article/tutorial/cookbook) - declare unmaintained packages as such (once a month I read the question, whether derelict works, and once a month Mike answers, that he does not maintain it anymore. And this goes on for many packages. In addition it is hard to a newcomer to see, whether a package is abandoned, or finished. Example: coming from python word, anything which didn't have a commit in last 2 years is fishy) ( I don't want to attack you Mike, it is just an example, but since you are the one I am answering right now, it is the example) - decrease score of packages, which don't build on code.dlang.org - Language and library reference have enough examples (at least the parts I use). Examples are simple and clear. However to a newcomer needs also more complex examples, like tutorials or cookbooks. Idea: one link, on the specific reference to a section with related articles/tutorials/cookbooks. - opinionated suggestions in getting started https://wiki.dlang.org/Getting_Started (a newcomer is overwhelmed by the possibilities of compilers,editors/ides. Suggestions: dmd, vscodium with code-d) - probably pack this task list somewhere on the wiki - Encourage newcomers to edit the wiki. This is a simple task, often dull to do for experienced community members, but great for newcomers, because they are included AND they explore the wiki ant the community on themselves.
May 03 2020
On Sunday, 3 May 2020 at 07:35:03 UTC, Jan Hönig wrote:- Encourage newcomers to edit the wiki. This is a simple task, often dull to do for experienced community members, but great for newcomers, because they are included AND they explore the wiki ant the community on themselves.I felt encouraged today, so I created this list[1] I hope it was OK. Please feel free to fill, sort & enhance. [1]: https://wiki.dlang.org/Documentation_improvement_initiative
May 05 2020
On Tuesday, 5 May 2020 at 16:05:44 UTC, Jan Hönig wrote:On Sunday, 3 May 2020 at 07:35:03 UTC, Jan Hönig wrote:Thanks! I'm still looking for documentation tasks that require enough work that we can use them for the event. Adding one or two lines here or there isn't enough. And something that requires weeks is too much. We're looking for things that can be accomplished in terms of hours or days.- Encourage newcomers to edit the wiki. This is a simple task, often dull to do for experienced community members, but great for newcomers, because they are included AND they explore the wiki ant the community on themselves.I felt encouraged today, so I created this list[1] I hope it was OK. Please feel free to fill, sort & enhance. [1]: https://wiki.dlang.org/Documentation_improvement_initiative
May 05 2020
On Wednesday, 6 May 2020 at 02:34:33 UTC, Mike Parker wrote:On Tuesday, 5 May 2020 at 16:05:44 UTC, Jan Hönig wrote:How about also cleaning up documentation how it looks on the web? Like missing macros are rendered blank in ddox, so the usage or the definition could get fixed. Example missing something: https://vibed.org/api/vibe.db.mongo.mongo/ (ending with "a dedicated utility for this called .", missing the $(LINK2 ...) macro) ddox also doesn't support showing mixin templates yet, which are however already reported in the JSON by the dmd documentation generator thing and only need some implementation. Also something I'm finding essential and think should be added to the DDoc spec: $(LREF) and $(REF) - they are used a lot in phobos and (a bit biased) they are also implemented in the code-d doc preview / code tips already for all packages, making them look nicely already there. Even if it just suggests that these are subject to implementation for each documentation generator, having a well defined syntax and explanation would help a lot.On Sunday, 3 May 2020 at 07:35:03 UTC, Jan Hönig wrote:Thanks! I'm still looking for documentation tasks that require enough work that we can use them for the event. Adding one or two lines here or there isn't enough. And something that requires weeks is too much. We're looking for things that can be accomplished in terms of hours or days.- Encourage newcomers to edit the wiki. This is a simple task, often dull to do for experienced community members, but great for newcomers, because they are included AND they explore the wiki ant the community on themselves.I felt encouraged today, so I created this list[1] I hope it was OK. Please feel free to fill, sort & enhance. [1]: https://wiki.dlang.org/Documentation_improvement_initiative
May 05 2020
On Wednesday, 6 May 2020 at 05:25:59 UTC, WebFreak001 wrote:How about also cleaning up documentation how it looks on the web? Like missing macros are rendered blank in ddox, so the usage or the definition could get fixed. Example missing something: https://vibed.org/api/vibe.db.mongo.mongo/ (ending with "a dedicated utility for this called .", missing the $(LINK2 ...) macro) ddox also doesn't support showing mixin templates yet, which are however already reported in the JSON by the dmd documentation generator thing and only need some implementation. Also something I'm finding essential and think should be added to the DDoc spec: $(LREF) and $(REF) - they are used a lot in phobos and (a bit biased) they are also implemented in the code-d doc preview / code tips already for all packages, making them look nicely already there. Even if it just suggests that these are subject to implementation for each documentation generator, having a well defined syntax and explanation would help a lot.Please add it to the wiki. https://wiki.dlang.org/Documentation_improvement_initiative#The_List
May 06 2020
On 5/5/20 10:25 PM, WebFreak001 wrote:On Wednesday, 6 May 2020 at 02:34:33 UTC, Mike Parker wrote:Incidentally in my -preview=markdown changes putting a symbol in brackets (using Markdown syntax for a link) like [string] creates a link to that symbol's definition [1]. I suspect my implementation isn't perfect, but like the rest of the -preview=markdown changes my hope is that it makes the docs easier to write. [1]: https://dlang.org/spec/ddoc.html#reference_linksOn Tuesday, 5 May 2020 at 16:05:44 UTC, Jan Hönig wrote:How about also cleaning up documentation how it looks on the web? Like missing macros are rendered blank in ddox, so the usage or the definition could get fixed. Example missing something: https://vibed.org/api/vibe.db.mongo.mongo/ (ending with "a dedicated utility for this called .", missing the $(LINK2 ...) macro) ddox also doesn't support showing mixin templates yet, which are however already reported in the JSON by the dmd documentation generator thing and only need some implementation. Also something I'm finding essential and think should be added to the DDoc spec: $(LREF) and $(REF) - they are used a lot in phobos and (a bit biased) they are also implemented in the code-d doc preview / code tips already for all packages, making them look nicely already there. Even if it just suggests that these are subject to implementation for each documentation generator, having a well defined syntax and explanation would help a lot.On Sunday, 3 May 2020 at 07:35:03 UTC, Jan Hönig wrote:Thanks! I'm still looking for documentation tasks that require enough work that we can use them for the event. Adding one or two lines here or there isn't enough. And something that requires weeks is too much. We're looking for things that can be accomplished in terms of hours or days.- Encourage newcomers to edit the wiki. This is a simple task, often dull to do for experienced community members, but great for newcomers, because they are included AND they explore the wiki ant the community on themselves.I felt encouraged today, so I created this list[1] I hope it was OK. Please feel free to fill, sort & enhance. [1]: https://wiki.dlang.org/Documentation_improvement_initiative
May 06 2020
On Wednesday, 6 May 2020 at 14:24:53 UTC, David Gileadi wrote:Incidentally in my -preview=markdown changes putting a symbol in brackets (using Markdown syntax for a link) like [string] creates a link to that symbol's definitionYeah, my adrdox does something similar. http://dpldocs.info/experimental-docs/adrdox.syntax.html#cross-referencing I also rewrite REF and LREF into it for phobos compatibility internally but it is a pretty obvious win to define these. (actually adrdox defines EVERYTHING and doesn't allow user-defined macros at all. Standardization makes it easier to use here. I just hard-coded the supported ones and leave the rest the unmodified.)
May 06 2020
On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:Preliminary discussions are underway for a new event to encourage improvements to documentation across the D ecosystem. I can't provide any details yet because the details aren't yet fixed. I don't even know for sure it's going to happen. However, the best way to make it happen is for us to have a solid set of well-defined documentation tasks. Putting that together is going to require help from the community. All of us have encountered areas where improvement is needed in the spec, the Phobos docs, and docs for dub, vibe.d, and many other tools and projects around the D ecosystem. Some of it has made it into Bugzilla (which will be mined for material), but much of it has been buried in the forum archives or evaporated into the ether from the IRC/Discord/Slack channels. This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post): http://dlang.org/blog/2020/02/17/news-update-swag…on-help-and-more/ As I mention there, we need you to be as specific as you can. What, specifically, is missing? What is unclear? What is incorrect? Give as much detail as you can. We want to be able to gather this info and define specific documentation tasks that anyone can step in and complete with the information provided. Any project in the D ecosystem is fair game. So please help us out and tell us how D documentation can be improved for you.Recently I spent more than 15 minutes trying to **get the Date of today** with std.datetime. The answer is: import std.datetime; Date today() { SysTime time = Clock.currTime(); return Date(time.year, time.month, time.day); } to do it you need to know what a SysTime is, what Clock is. It's the kind of examples that would really improve life for the stdlib user, with simple copy-pasting often being enough. Another one I'm using constantly is: /// Returns: Most precise clock ticks, in microseconds. long getTickUs() nothrow nogc { import core.time; return convClockFreq(MonoTime.currTime.ticks, MonoTime.ticksPerSecond, 1_000_000); } **It's not trivial at all either!** I think small example for common tasks like can bring back some productivity. On the contrary, `read` the most useful function of `std.file`, has an example: https://dlang.org/phobos/std_file.html#.read
May 08 2020
On 5/8/20 11:34 AM, Guillaume Piolat wrote:On Monday, 17 February 2020 at 12:16:26 UTC, Mike Parker wrote:You can do: return cast(Date)Clock.currTime; Though I have never liked the requirement to cast. There really should just be a Date.currDate or SysTime.date accessor.Preliminary discussions are underway for a new event to encourage improvements to documentation across the D ecosystem. I can't provide any details yet because the details aren't yet fixed. I don't even know for sure it's going to happen. However, the best way to make it happen is for us to have a solid set of well-defined documentation tasks. Putting that together is going to require help from the community. All of us have encountered areas where improvement is needed in the spec, the Phobos docs, and docs for dub, vibe.d, and many other tools and projects around the D ecosystem. Some of it has made it into Bugzilla (which will be mined for material), but much of it has been buried in the forum archives or evaporated into the ether from the IRC/Discord/Slack channels. This thread is a place to collect your documentation pain in one place. I'm about to publish a blog post announcing this (a few minutes after I hit 'Send' on this post): http://dlang.org/blog/2020/02/17/news-update-swag…on-help-and-more/ As I mention there, we need you to be as specific as you can. What, specifically, is missing? What is unclear? What is incorrect? Give as much detail as you can. We want to be able to gather this info and define specific documentation tasks that anyone can step in and complete with the information provided. Any project in the D ecosystem is fair game. So please help us out and tell us how D documentation can be improved for you.Recently I spent more than 15 minutes trying to **get the Date of today** with std.datetime. The answer is: import std.datetime; Date today() { SysTime time = Clock.currTime(); return Date(time.year, time.month, time.day); } to do it you need to know what a SysTime is, what Clock is.Another one I'm using constantly is: /// Returns: Most precise clock ticks, in microseconds. long getTickUs() nothrow nogc { import core.time; return convClockFreq(MonoTime.currTime.ticks, MonoTime.ticksPerSecond, 1_000_000); } **It's not trivial at all either!** I think small example for common tasks like can bring back some productivity.This one is easier: (MonoTime.currTime - MonoTime.zero).total!"usecs"; -Steve
May 08 2020
On Friday, 8 May 2020 at 15:34:43 UTC, Guillaume Piolat wrote:[snip] Recently I spent more than 15 minutes trying to **get the Date of today** with std.datetime. The answer is: import std.datetime; Date today() { SysTime time = Clock.currTime(); return Date(time.year, time.month, time.day); } [snip]I think this should be in phobos, regardless of the documentation improvement.
May 08 2020
Today I was very satisfied with the dub documentation. However I don't know if anyone has actually done anything, or duckduckgo just actually finds it now. (More specifically this: https://dub.pm/package-format-json.html) So either I was too stupid to properly search half a year a ago, or someone did a tremendous job meanwhile (which I missed). I updated https://wiki.dlang.org/Documentation_improvement_initiative
Jun 25 2020