www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - d-programming-language.com

reply Manu <turkeyman gmail.com> writes:
Okay, so is this the official documentation for the language?
Is there somewhere else I should be looking?

I ask because literally 50% if things I've looked up in the last 2 days are
undocumented.
Many of them have some heading reserved, with no content.

Here are some examples:
immutable Attribute__gshared Attributeshared Attributeinout Attribute
These would appear to be rather important keywords... I'd like to know what
they do :)

I currently have this error, and no idea what it's hassling me about, but
I'm suspecting I need to put 'shared' somewhere, though I don't really know
how it works...
  C:\Program Files
(x86)\D\dmd2\windows\bin\..\..\src\phobos\std\concurrency.d(329): Error:
static assert  "Aliases to mutable thread-local data not allowed."
Dec 10 2011
next sibling parent reply Trass3r <un known.com> writes:
Am 10.12.2011, 18:21 Uhr, schrieb Manu <turkeyman gmail.com>:

 Okay, so is this the official documentation for the language?
 Is there somewhere else I should be looking?
You mean .org Yes this is the official documentation and yes it is lacking in some areas. You may also get Andrei's book "The D programming language", that's a pretty comprehensive overview.
Dec 10 2011
parent Manu <turkeyman gmail.com> writes:
On 10 December 2011 20:08, Trass3r <un known.com> wrote:

 Am 10.12.2011, 18:21 Uhr, schrieb Manu <turkeyman gmail.com>:


  Okay, so is this the official documentation for the language?
 Is there somewhere else I should be looking?
You mean .org Yes this is the official documentation and yes it is lacking in some areas. You may also get Andrei's book "The D programming language", that's a pretty comprehensive overview.
As I invest myself further into the language I'll definitely get+read the book (not so much free time sadly). But I'd like to think a language that claims to be a simplification of C++ should be at least familiar, and where it differs, extremely intuitive. For the time being I'm just trying to write some small programs and gauge my experience, which are fairly mixed at this point, but I remain optimistic. Mostly documentation failure so far (even if the documentation were thorough, I really hate the layout/presentation, though that hasn't scared me off), and a couple of very unintuitive constructs which I may or may not get used to :)
Dec 10 2011
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 9:21 AM, Manu wrote:
 Okay, so is this the official documentation for the language?
 Is there somewhere else I should be looking?

 I ask because literally 50% if things I've looked up in the last 2 days are
 undocumented.
 Many of them have some heading reserved, with no content.

 Here are some examples:


     immutable Attribute
http://www.d-programming-language.org/const3.html
     __gshared Attribute
http://www.d-programming-language.org/migrate-to-shared.html
     shared Attribute
http://www.d-programming-language.org/migrate-to-shared.html
     inout Attribute
http://www.d-programming-language.org/function.html#inout-functions
 These would appear to be rather important keywords... I'd like to know what
they
 do :)
Yup. In general, you can find the documentation on a particular keyword by typing in: dman keyword
Dec 10 2011
next sibling parent reply Chad J <chadjoan __spam.is.bad__gmail.com> writes:
On 12/10/2011 02:28 PM, Walter Bright wrote:
 
 Yup. In general, you can find the documentation on a particular keyword
 by typing in:
 
    dman keyword
Interesting, but doesn't work for me: chad Hugin ~ $ dman auto x-www-browser: No such file or directory chad Hugin ~ $
Dec 10 2011
parent reply Chad J <chadjoan __spam.is.bad__gmail.com> writes:
On 12/10/2011 03:50 PM, Chad J wrote:
 On 12/10/2011 02:28 PM, Walter Bright wrote:
 Yup. In general, you can find the documentation on a particular keyword
 by typing in:

    dman keyword
Interesting, but doesn't work for me: chad Hugin ~ $ dman auto x-www-browser: No such file or directory chad Hugin ~ $
Almost forgot to mention: This is on 64-bit Gentoo Linux. chad Hugin ~ $ dmd DMD64 D Compiler v2.056 Copyright (c) 1999-2011 by Digital Mars written by Walter Bright Documentation: http://www.digitalmars.com/d/2.0/index.html Usage: dmd files.d ... { -switch } ..etc...
Dec 10 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 12:52 PM, Chad J wrote:
 On 12/10/2011 03:50 PM, Chad J wrote:
 On 12/10/2011 02:28 PM, Walter Bright wrote:
 Yup. In general, you can find the documentation on a particular keyword
 by typing in:

     dman keyword
Interesting, but doesn't work for me: chad Hugin ~ $ dman auto x-www-browser: No such file or directory chad Hugin ~ $
Almost forgot to mention: This is on 64-bit Gentoo Linux.
I think dman didn't get updated properly on that platform. It does work properly on Windows.
Dec 10 2011
parent reply Mirko Pilger <mirko.pilger gmail.com> writes:
 I think dman didn't get updated properly on that platform. It does work
 properly on Windows.
obviously i'm missing something here. within the downloaded archives for v2.055 to v2.056 i can only find binaries of dman for freebsd, linux and osx but not for windows. :/
Dec 10 2011
next sibling parent Mirko Pilger <mirko.pilger gmail.com> writes:
 v2.055 to v2.056
v2.055 to v2.057b
Dec 10 2011
prev sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 1:48 PM, Mirko Pilger wrote:
 I think dman didn't get updated properly on that platform. It does work
 properly on Windows.
obviously i'm missing something here. within the downloaded archives for v2.055 to v2.056 i can only find binaries of dman for freebsd, linux and osx but not for windows. :/
Oops!
Dec 10 2011
prev sibling parent reply Manu <turkeyman gmail.com> writes:
On 10 December 2011 21:28, Walter Bright <newshound2 digitalmars.com> wrote:

 On 12/10/2011 9:21 AM, Manu wrote:

 Okay, so is this the official documentation for the language?
 Is there somewhere else I should be looking?

 I ask because literally 50% if things I've looked up in the last 2 days
 are
 undocumented.
 Many of them have some heading reserved, with no content.

 Here are some examples:


    immutable Attribute
http://www.d-programming-**language.org/const3.html<http://www.d-programming-language.org/const3.html> __gshared Attribute

 http://www.d-programming-**language.org/migrate-to-**shared.html<http://www.d-programming-language.org/migrate-to-shared.html>

     shared Attribute

 http://www.d-programming-**language.org/migrate-to-**shared.html<http://www.d-programming-language.org/migrate-to-shared.html>

     inout Attribute


Cheers for the links! Might be a good idea to take a few minutes and either cut and paste some text, or paste a link to these articles in the empty descriptions I referred to... These would appear to be rather important keywords... I'd like to know what
 they
 do :)
Yup. In general, you can find the documentation on a particular keyword by typing in: dman keyword
Cool cheers, noted, although to be completely honest, I'm a windows user, and I will never type this. There should be a .chm in the distribution, which is the standard expected by any windows developer from any sdk they intend to take seriously. This is very easy to produce from the existing webpage, although indexing it might take some investment.
Dec 10 2011
next sibling parent reply Mirko Pilger <mirko.pilger gmail.com> writes:
 There should be a .chm in the distribution
+1
Dec 10 2011
next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
Create a .chm with this: http://thecybershadow.net/d/docs/
Dec 10 2011
prev sibling parent Manu <turkeyman gmail.com> writes:
On 11 December 2011 02:04, Andrej Mitrovic <andrej.mitrovich gmail.com>wrote:

 Create a .chm with this: http://thecybershadow.net/d/docs/
Wow, see, that's exactly what I'm talking about! :) .. (although I tried downloading that chm and it doesn't work...) There's an amazing amount of work and energy spent here, but there's a lot of examples of taking it 95%, and the distribution isn't quite there. How hard would it be to put that in the distro (if it worked), and include a link to the manual in the windows start menu beside the uninstaller...
Dec 10 2011
prev sibling next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 3:45 PM, Manu wrote:
 Cool cheers, noted, although to be completely honest, I'm a windows user, and I
 will never type this. There should be a .chm in the distribution, which is the
 standard expected by any windows developer from any sdk they intend to take
 seriously. This is very easy to produce from the existing webpage, although
 indexing it might take some investment.
I didn't think anyone preferred chm over web pages anymore!
Dec 10 2011
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Saturday, December 10, 2011 16:00:15 Walter Bright wrote:
 On 12/10/2011 3:45 PM, Manu wrote:
 Cool cheers, noted, although to be completely honest, I'm a windows
 user, and I will never type this. There should be a .chm in the
 distribution, which is the standard expected by any windows developer
 from any sdk they intend to take seriously. This is very easy to
 produce from the existing webpage, although indexing it might take some
 investment.
I didn't think anyone preferred chm over web pages anymore!
I've never even _heard_ of chm, but then again, I'm mostly a Linux programmer. - Jonathan M Davis
Dec 10 2011
prev sibling next sibling parent reply Mirko Pilger <mirko.pilger gmail.com> writes:
 I didn't think anyone preferred chm over web pages anymore!
personally i prefer chm > pdf > web for technical documentations and ebooks on the desktop.
Dec 10 2011
parent Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 4:10 PM, Mirko Pilger wrote:
 I didn't think anyone preferred chm over web pages anymore!
personally i prefer chm > pdf > web for technical documentations and ebooks on the desktop.
We've got an ebook now for the D spec, and hope to get one done for Phobos.
Dec 10 2011
prev sibling next sibling parent reply Peter Alexander <peter.alexander.au gmail.com> writes:
On 11/12/11 12:00 AM, Walter Bright wrote:
 On 12/10/2011 3:45 PM, Manu wrote:
 Cool cheers, noted, although to be completely honest, I'm a windows
 user, and I
 will never type this. There should be a .chm in the distribution,
 which is the
 standard expected by any windows developer from any sdk they intend to
 take
 seriously. This is very easy to produce from the existing webpage,
 although
 indexing it might take some investment.
I didn't think anyone preferred chm over web pages anymore!
I think either would be fine, but having to use the command line for anything on Windows is a no-no these days in terms of usability.
Dec 10 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line for anything
on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Dec 10 2011
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Saturday, December 10, 2011 17:52:18 Walter Bright wrote:
 On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line for
 anything on Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
True, but I think that most Windows users expect to be using a compiler inside of an IDE, at which point, they aren't using the command line anyway. Many of them probably think that having to use dmd from the command line is a usability problem. I expect that they can avoid it with stuff iike VisualD though. - Jonathan M Davis
Dec 10 2011
prev sibling next sibling parent Manu <turkeyman gmail.com> writes:
On 11 December 2011 03:52, Walter Bright <newshound2 digitalmars.com> wrote:

 On 12/10/2011 4:46 PM, Peter Alexander wrote:

 I think either would be fine, but having to use the command line for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Because VisualD is actually pretty good.
Dec 11 2011
prev sibling parent reply Peter Alexander <peter.alexander.au gmail.com> writes:
On 11/12/11 1:52 AM, Walter Bright wrote:
 On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
Dec 11 2011
next sibling parent Manu <turkeyman gmail.com> writes:
On 11 December 2011 23:26, Peter Alexander <peter.alexander.au gmail.com>wrote:

 On 11/12/11 1:52 AM, Walter Bright wrote:

 On 12/10/2011 4:46 PM, Peter Alexander wrote:

 I think either would be fine, but having to use the command line for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
Hilite a keyword or function, press F1, and the documentation appears instantly... ;) The moment a chm appears in the distro, there'll be a bug in VisualD to make F1 work. (Side note: I still seriously think you should consider collaborating with VisualD and including it in the windows distribution directly. Put an option in the installer, hook up the installation paths during installation)
Dec 11 2011
prev sibling parent reply Hans Uhlig <hans.uhlig teamaol.com> writes:
On 12/11/2011 1:26 PM, Peter Alexander wrote:
 On 11/12/11 1:52 AM, Walter Bright wrote:
 On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
Dec 12 2011
next sibling parent Manu <turkeyman gmail.com> writes:
On 12 December 2011 20:09, Hans Uhlig <hans.uhlig teamaol.com> wrote:

 On 12/11/2011 1:26 PM, Peter Alexander wrote:

 On 11/12/11 1:52 AM, Walter Bright wrote:

 On 12/10/2011 4:46 PM, Peter Alexander wrote:

 I think either would be fine, but having to use the command line for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
And they did a great job. Visual Studio is a fantastically productive coding environment.
Dec 12 2011
prev sibling next sibling parent reply "Jonathan M Davis" <jmdavisProg gmx.com> writes:
On Monday, December 12, 2011 20:39:11 Manu wrote:
 On 12 December 2011 20:09, Hans Uhlig <hans.uhlig teamaol.com> wrote:
 On 12/11/2011 1:26 PM, Peter Alexander wrote:
 On 11/12/11 1:52 AM, Walter Bright wrote:
 On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line
 for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
And they did a great job. Visual Studio is a fantastically productive coding environment.
Having a great GUI and a great shell are not mutually exclusive. - Jonathan M Davis
Dec 12 2011
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2011-12-12 20:03, Jonathan M Davis wrote:
 On Monday, December 12, 2011 20:39:11 Manu wrote:
 On 12 December 2011 20:09, Hans Uhlig<hans.uhlig teamaol.com>  wrote:
 On 12/11/2011 1:26 PM, Peter Alexander wrote:
 On 11/12/11 1:52 AM, Walter Bright wrote:
 On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line
 for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
And they did a great job. Visual Studio is a fantastically productive coding environment.
Having a great GUI and a great shell are not mutually exclusive. - Jonathan M Davis
Mac OS X is the perfect example of that. -- /Jacob Carlborg
Dec 12 2011
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 12/12/11 1:03 PM, Jonathan M Davis wrote:
 On Monday, December 12, 2011 20:39:11 Manu wrote:
 On 12 December 2011 20:09, Hans Uhlig<hans.uhlig teamaol.com>  wrote:
 On 12/11/2011 1:26 PM, Peter Alexander wrote:
 On 11/12/11 1:52 AM, Walter Bright wrote:
 On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line
 for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
And they did a great job. Visual Studio is a fantastically productive coding environment.
Having a great GUI and a great shell are not mutually exclusive. - Jonathan M Davis
Look at the Mac... Andrei
Dec 12 2011
parent Manu <turkeyman gmail.com> writes:
On 13 December 2011 01:59, Andrei Alexandrescu <
SeeWebsiteForEmail erdani.org> wrote:

 On 12/12/11 1:03 PM, Jonathan M Davis wrote:

 On Monday, December 12, 2011 20:39:11 Manu wrote:

 On 12 December 2011 20:09, Hans Uhlig<hans.uhlig teamaol.com>  wrote:

 On 12/11/2011 1:26 PM, Peter Alexander wrote:

 On 11/12/11 1:52 AM, Walter Bright wrote:

 On 12/10/2011 4:46 PM, Peter Alexander wrote:

 I think either would be fine, but having to use the command line
 for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
And they did a great job. Visual Studio is a fantastically productive coding environment.
Having a great GUI and a great shell are not mutually exclusive. - Jonathan M Davis
Look at the Mac... Andrei
Have you actually tried to use XCode professionally? ... ;)
Dec 12 2011
prev sibling parent reply Peter Alexander <peter.alexander.au gmail.com> writes:
On 12/12/11 6:09 PM, Hans Uhlig wrote:
 On 12/11/2011 1:26 PM, Peter Alexander wrote:
 On 11/12/11 1:52 AM, Walter Bright wrote:
 On 12/10/2011 4:46 PM, Peter Alexander wrote:
 I think either would be fine, but having to use the command line for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
I agree that cmd sucks. I disagree that people use Visual Studio because cmd sucks. At home I'm a Mac user, but at work I use Visual Studio. I've used Eclipse, XCode, code blocks, vim+makefiles, and I can easily say that Visual Studio is far and away the best development environment in existence. Nothing even comes close to it.
Dec 13 2011
next sibling parent Manu <turkeyman gmail.com> writes:
On 13 December 2011 21:50, Peter Alexander <peter.alexander.au gmail.com>wrote:

 On 12/12/11 6:09 PM, Hans Uhlig wrote:

 On 12/11/2011 1:26 PM, Peter Alexander wrote:

 On 11/12/11 1:52 AM, Walter Bright wrote:

 On 12/10/2011 4:46 PM, Peter Alexander wrote:

 I think either would be fine, but having to use the command line for
 anything on
 Windows is a no-no these days in terms of usability.
Since dmd is a command line tool anyway, why is it a usability problem to use dman?
Why do you think so many people ask for IDEs? :-) Windows people are used to Visual Studio doing everything for them. Hit F7 to compile, F5 to run under debugger, click on lines to set breakpoints.
That's because cmd sucks. MS Powershell isn't much better. I have to use mintty just to be able to have a sane environment. Linux is a very shell oriented OS still even with Kde and Gnome. Microsoft did everything in its power to kill off the shell for "useability" reasons.
I agree that cmd sucks. I disagree that people use Visual Studio because cmd sucks. At home I'm a Mac user, but at work I use Visual Studio. I've used Eclipse, XCode, code blocks, vim+makefiles, and I can easily say that Visual Studio is far and away the best development environment in existence. Nothing even comes close to it.
+100 ;)
Dec 13 2011
prev sibling parent "F i L" <witte2008 gmail.com> writes:
Peter Alexander wrote:
 I agree that cmd sucks.

 I disagree that people use Visual Studio because cmd sucks.

 At home I'm a Mac user, but at work I use Visual Studio. I've 
 used Eclipse, XCode, code blocks, vim+makefiles, and I can 
 easily say that Visual Studio is far and away the best 
 development environment in existence. Nothing even comes close 
 to it.
For D, MonoD comes pretty close. In fact, it's actually better than VisualD (atm) because of it's correct code-completion and cross-platformness.
Dec 13 2011
prev sibling next sibling parent reply Manu <turkeyman gmail.com> writes:
On 11 December 2011 02:00, Walter Bright <newshound2 digitalmars.com> wrote:

 On 12/10/2011 3:45 PM, Manu wrote:

 Cool cheers, noted, although to be completely honest, I'm a windows user,
 and I
 will never type this. There should be a .chm in the distribution, which
 is the
 standard expected by any windows developer from any sdk they intend to
 take
 seriously. This is very easy to produce from the existing webpage,
 although
 indexing it might take some investment.
I didn't think anyone preferred chm over web pages anymore!
Definitely the standard where I'm from (10 years in the video games universe, almost exclusively windows based sdk's). The expected functionality is to have the chm open sitting there while you work, type the first 2-3 letters of the keyword, function name, etc into the 'index' list, the topic appears and you immediately have your answer. There is also a lightning fast 'search' there for more abstract topics. The DirectX documentation is usually held in the highest regard by most people I've worked with, it's among the best examples of 'perfect' documentation as considered by any windows based developer. Most console vendors provide a similarly high quality and formatted set of reference material. That would be ideal, but that said, I'd be happy with the website if it were complete, and I didn't have to start digging every time I look something up. And even then, the descriptions are often vague, and I find myself chasing examples before I can even understand the documentation (see std.concurrency) ;) ... (note: I'm still failing to solve my problems, all with sharing and access rights to local variables passed between threads) In abstract, for me, as an end user of the language/libraries, my experience/expectations with most SDK's is that if it takes me longer than 10-20 seconds or so to get the answer to a trivial question, short, concise and articulate, I start to feel frustrated and like I'm wasting time. I think it leaves a really good impression with new comers to the language if they can just get into it and feel immediately productive. After all, I think for a lot of people (including myself), the promise of D is that of "C++ done right". If I can't just start coding and feel generally productive (sure, some language differences will take some time to adapt to), then it really dilutes that dream very quickly, which is what, I think, will attract most new comers to the language. So it's imperative to get that part just right, and that's all about the docs and presentation for me.
Dec 10 2011
parent Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 4:44 PM, Manu wrote:
 So it's imperative to get that part just right, and that's all
 about the docs and presentation for me.
I agree with you.
Dec 10 2011
prev sibling next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 12/11/11, Walter Bright <newshound2 digitalmars.com> wrote:
 I didn't think anyone preferred chm over web pages anymore!
It is for me. All I have to do to get to some documentation of a symbol is highlight the symbol and hit F1, and the CHM with the section on that symbol comes up. Well now I could do the same thing with dman and it would open my browser instead. But dman wasn't around before.. ;)
Dec 10 2011
parent Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 5:05 PM, Andrej Mitrovic wrote:
 Well now I could do the same thing with dman and it would open my
 browser instead. But dman wasn't around before.. ;)
dman has suffered a bit from lack of TLC. But that can be fixed.
Dec 10 2011
prev sibling parent Somedude <lovelydear mailmetrash.com> writes:
Le 11/12/2011 01:00, Walter Bright a écrit :
 On 12/10/2011 3:45 PM, Manu wrote:
 Cool cheers, noted, although to be completely honest, I'm a windows
 user, and I
 will never type this. There should be a .chm in the distribution,
 which is the
 standard expected by any windows developer from any sdk they intend to
 take
 seriously. This is very easy to produce from the existing webpage,
 although
 indexing it might take some investment.
I didn't think anyone preferred chm over web pages anymore!
Mostly Java programmer here. I ALWAYS prefer the chm version of all the Java documentation over google + official web doc. With the index, it's so much faster.
Dec 11 2011
prev sibling parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Saturday, 10 December 2011 at 23:45:50 UTC, Manu wrote:
 and I will never type this. There should be a .chm in the 
 distribution
http://d.puremagic.com/issues/show_bug.cgi?id=5470
Dec 10 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 4:16 PM, Vladimir Panteleev wrote:
 On Saturday, 10 December 2011 at 23:45:50 UTC, Manu wrote:
 and I will never type this. There should be a .chm in the distribution
http://d.puremagic.com/issues/show_bug.cgi?id=5470
Awesome, I had overlooked that. Can you do a pull request to put chmgen.d into a subdirectory of https://github.com/D-Programming-Language/d-programming-language.org, along with the instructions you provided?
Dec 10 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 6:01 PM, Walter Bright wrote:
 On 12/10/2011 4:16 PM, Vladimir Panteleev wrote:
 On Saturday, 10 December 2011 at 23:45:50 UTC, Manu wrote:
 and I will never type this. There should be a .chm in the distribution
http://d.puremagic.com/issues/show_bug.cgi?id=5470
Awesome, I had overlooked that. Can you do a pull request to put chmgen.d into a subdirectory of https://github.com/D-Programming-Language/d-programming-language.org, along with the instructions you provided?
Essentially, I'd like to have the .chm files automatically built by the makefile for the html documentation.
Dec 10 2011
next sibling parent reply Adam D. Ruppe <destructionator gmail.com> writes:
Walter Bright Wrote:
 Essentially, I'd like to have the .chm files automatically built by the
makefile 
 for the html documentation.
I'm curious: what kind of setup do you have there? The jump list in D's lib docs are very bad right now, and we could improve the javascript behind them, but I'd prefer to do it on the server. I did a D program to make it happen back in like February, but I don't know how to integrate it into your process. (I didn't think it would be a possibility until now!)
Dec 10 2011
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/10/2011 6:13 PM, Adam D. Ruppe wrote:
 Walter Bright Wrote:
 Essentially, I'd like to have the .chm files automatically built by the
makefile
 for the html documentation.
I'm curious: what kind of setup do you have there? The jump list in D's lib docs are very bad right now, and we could improve the javascript behind them, but I'd prefer to do it on the server. I did a D program to make it happen back in like February, but I don't know how to integrate it into your process. (I didn't think it would be a possibility until now!)
It just statically serves html. No cgi.
Dec 10 2011
parent Adam D. Ruppe <destructionator gmail.com> writes:
Walter Bright Wrote:
 It just statically serves html. No cgi.
See my reply to Andrei - the program modifies the static html ahead of time, so it just needs to be part of the build process, not part of the deployment. Here's a link to see its output: http://arsdnet.net/d-web-site/std_stdio.html I detailed the things in my other post.
Dec 10 2011
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 12/10/11 8:13 PM, Adam D. Ruppe wrote:
 Walter Bright Wrote:
 Essentially, I'd like to have the .chm files automatically built by the
makefile
 for the html documentation.
I'm curious: what kind of setup do you have there?
It's a makefile you can find on github.
 The jump list in D's lib docs are very bad right now, and we could improve the
 javascript behind them, but I'd prefer to do it on the server.

 I did a D program to make it happen back in like February, but I don't know
 how to integrate it into your process. (I didn't think it would be a
possibility until now!)
Anything automated rox. Andrei
Dec 10 2011
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
Andrei Alexandrescu Wrote:
 Anything automated rox.
cool. I updated the program today to handle the new site. Take a look at the output: http://arsdnet.net/d-web-site/std_stdio.html Biggest improvement imo is anchors work better: http://arsdnet.net/d-web-site/std_stdio.html#File.writeln is distinct from #writeln. You might remember this from last winter when you introduced the cheatsheet idea. I figured I could automate the process by examining the html, and this is the result. (Improved a little tonight from how it was last time.) What it does is determine the fully qualified names from the html structure, then pulls out the first paragraph for each name. Using that, it fixes the link and generates the table, categorizing the found names as struct, class, function, enum, or unknown, with some support for subcategorizing if we add tags to the ddoc (I can write a macro to help that along) Anyway, with that in hand, it modifies the html to add these tables on top of each section. First, there's the module scope names, sorted alphabetically. Then, if you click struct File, you'll see that under it's description, right before it's members, there's a sub-table of member quick references. They are not categorized by class/struct since I think that's overkill in there. But, they are sorted by name and link right to the inside. If a file has more nesting, it should just work like this all the way through recursively. This little program runs on the command line and modifies a given html file, just writing out another static file you can upload to the server. Anyway it's pretty much complete here. Let me know what you think.
Dec 10 2011
next sibling parent Adam D. Ruppe <destructionator gmail.com> writes:
Also, I was just wondering how it'd work on a page like std.container

http://www.d-programming-language.org/phobos/std_container.html

which already has a hand written table up top. So I ran it:

http://arsdnet.net/d-web-site/std_container.html

and I'm ok with it. In the d-p-l page, can you tell quickly what containers
are actually offered? I can't... the list up top kinda tells you, but that's
really ugly.

But after running my program on it, the struct/class quick reference
tables give it right away, and I don't think it's too full, even with the
hand written table.

So I like it. Only change I might make is combining the struct and
class tables, and maybe some spacing issues.

Again though, I'm open to ideas.
Dec 10 2011
prev sibling next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Saturday, December 10, 2011 23:14:20 Adam D. Ruppe wrote:
 Anyway it's pretty much complete here. Let me know what you think.
Overall, I like what I see here, but I definitely that that ddoc itself should be fixed so that it generates proper anchors instead of requiring you to manipulate the page afterwards. In fact, as much of the documentation- generation as possible should be in ddoc IMHO. That way, anyone can get reasonable documentation for their own projects. - Jonathan M Davis
Dec 10 2011
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
Jonathan M Davis Wrote:
  In fact, as much of the documentation-
 generation as possible should be in ddoc IMHO. That way, anyone can get 
 reasonable documentation for their own projects.
I agree to an extent, but at the same time, I like keeping ddoc itself fairly simple. Correct anchors from ddoc are a no-brainer, it definitely should be doing that. I'd also like for it to mark off any D names it sees, so we can link them right into a search engine or something to do automatic cross referencing. (I want to add this to my program too, but regardless, the compiler would do a much better job at it than a regular expression or whatever I can do with the text.) I'm still meaning to revamp the compiler's default set of macros too, when I get around to it. But, I'm mixed on things like tables of contents. On one hand, it's definitely a useful thing to have, but on the other, how much can ddoc do without getting a lot more complicated? I'd hate to add a bunch of special cases in there, or worse yet, a whole bloody scripting language, to cover everyone's use-case. If we do tables, what's next? Though a nice content listing probably *is* worth it... Keeping ddoc simple and running the generated document through an additional program gives you all the flexibility of D - or whatever - without adding to the compiler. If you take a look at my program: http://arsdnet.net/d-web-site/improveddoc.d you can see that it isn't terribly complex, but part of that is that it uses my html dom library and std.algorithm to help out; of we replicated that inside the compiler it might be a lot messier.
Dec 10 2011
parent reply Hans Uhlig <hans.uhlig teamaol.com> writes:
On 12/10/2011 9:52 PM, Adam D. Ruppe wrote:
 Jonathan M Davis Wrote:
   In fact, as much of the documentation-
 generation as possible should be in ddoc IMHO. That way, anyone can get
 reasonable documentation for their own projects.
I agree to an extent, but at the same time, I like keeping ddoc itself fairly simple. Correct anchors from ddoc are a no-brainer, it definitely should be doing that. I'd also like for it to mark off any D names it sees, so we can link them right into a search engine or something to do automatic cross referencing. (I want to add this to my program too, but regardless, the compiler would do a much better job at it than a regular expression or whatever I can do with the text.) I'm still meaning to revamp the compiler's default set of macros too, when I get around to it. But, I'm mixed on things like tables of contents. On one hand, it's definitely a useful thing to have, but on the other, how much can ddoc do without getting a lot more complicated? I'd hate to add a bunch of special cases in there, or worse yet, a whole bloody scripting language, to cover everyone's use-case. If we do tables, what's next? Though a nice content listing probably *is* worth it... Keeping ddoc simple and running the generated document through an additional program gives you all the flexibility of D - or whatever - without adding to the compiler. If you take a look at my program: http://arsdnet.net/d-web-site/improveddoc.d you can see that it isn't terribly complex, but part of that is that it uses my html dom library and std.algorithm to help out; of we replicated that inside the compiler it might be a lot messier.
Actually it might be nice instead of ddoc creating HTML if it created an intermediate XML or JSON format of documentation that could be transformed via XSLT+CSS into the final product be it html, chm, manpages etc.
Dec 12 2011
parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Monday, 12 December 2011 at 18:43:43 UTC, Hans Uhlig wrote:
 Actually it might be nice instead of ddoc creating HTML if it 
 created an intermediate XML or JSON format of documentation 
 that could be transformed via XSLT+CSS into the final product 
 be it html, chm, manpages etc.
The macro system lets you do that pretty well already (my program just treats the html as xml basically anyway). dmd -X also includes the documentation comments in the json it generates for each item. Though, this is unparsed doc comments so it's not as useful as the html you output.
Dec 12 2011
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 12/10/11 10:14 PM, Adam D. Ruppe wrote:
 Andrei Alexandrescu Wrote:
 Anything automated rox.
cool. I updated the program today to handle the new site. Take a look at the output: http://arsdnet.net/d-web-site/std_stdio.html
[snip] Yah, there's definite improvement. Adding categorization by hand will certainly help, and I think the program should not specify "Uncategorized" when there's no other category. There should also be no line after the category - color and boldface should be distinguishing enough. We could later on experiment with some collapsible stuff. Overall I see no shame in generating structured output with ddoc and then postprocessing it. Ddoc is supposed to generate structured documentation from code, not advanced cross-reference stuff and the such. Of course local improvements do make sense (e.g. distinguish member names from top-level names etc). I would try to compel you to put the proposed changes in the form of a pull request, but first I think you may want to work with Walter on finalizing the "try now" code. We should stay with one thing until it's done. Thanks, Andrei
Dec 10 2011
next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Sunday, 11 December 2011 at 06:52:25 UTC, Andrei Alexandrescu 
wrote:
 I think the program should not specify "Uncategorized" when 
 there's no other category.
OK. Now, on the category tags, part of me wants to link back to something along the lines of my dpldocs.info site - a dynamic program to search the docs. (Which I'm in the process of revising) But, since there's no dynamic code on the live site, what might be best is making a few static pages for the categories, just pre-generating them too. Something along the lines of a site map, perhaps with a human written conceptual overview of the concept eventually too.
 I would try to compel you to put the proposed changes in the 
 form of a pull request, but first I think you may want to work 
 with Walter on finalizing the "try now" code.
What happened there was it was fully operational.... and then the my server died. Hardware failure. I haven't replaced it yet, but do have something on the todo list about it. As soon as I bring a server back up, the try now buttons should reappear with ease; I think the javascript link is still there. Anyway though that hardware situation is the bottleneck there.
Dec 11 2011
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2011-12-11 07:52, Andrei Alexandrescu wrote:
 On 12/10/11 10:14 PM, Adam D. Ruppe wrote:
 Andrei Alexandrescu Wrote:
 Anything automated rox.
cool. I updated the program today to handle the new site. Take a look at the output: http://arsdnet.net/d-web-site/std_stdio.html
[snip] Yah, there's definite improvement. Adding categorization by hand will certainly help, and I think the program should not specify "Uncategorized" when there's no other category. There should also be no line after the category - color and boldface should be distinguishing enough. We could later on experiment with some collapsible stuff. Overall I see no shame in generating structured output with ddoc and then postprocessing it. Ddoc is supposed to generate structured documentation from code, not advanced cross-reference stuff and the such. Of course local improvements do make sense (e.g. distinguish member names from top-level names etc).
I think this is the wrong approach and I think ddoc should generate cross-references. -- /Jacob Carlborg
Dec 12 2011
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2011-12-11 05:14, Adam D. Ruppe wrote:
 Andrei Alexandrescu Wrote:
 Anything automated rox.
cool. I updated the program today to handle the new site. Take a look at the output: http://arsdnet.net/d-web-site/std_stdio.html Biggest improvement imo is anchors work better: http://arsdnet.net/d-web-site/std_stdio.html#File.writeln is distinct from #writeln. You might remember this from last winter when you introduced the cheatsheet idea. I figured I could automate the process by examining the html, and this is the result. (Improved a little tonight from how it was last time.) What it does is determine the fully qualified names from the html structure, then pulls out the first paragraph for each name. Using that, it fixes the link and generates the table, categorizing the found names as struct, class, function, enum, or unknown, with some support for subcategorizing if we add tags to the ddoc (I can write a macro to help that along) Anyway, with that in hand, it modifies the html to add these tables on top of each section. First, there's the module scope names, sorted alphabetically. Then, if you click struct File, you'll see that under it's description, right before it's members, there's a sub-table of member quick references. They are not categorized by class/struct since I think that's overkill in there. But, they are sorted by name and link right to the inside. If a file has more nesting, it should just work like this all the way through recursively. This little program runs on the command line and modifies a given html file, just writing out another static file you can upload to the server. Anyway it's pretty much complete here. Let me know what you think.
Wouldn't it be better if ddoc generate the correct HTML from the beginning. -- /Jacob Carlborg
Dec 12 2011
parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Monday, 12 December 2011 at 12:10:29 UTC, Jacob Carlborg wrote:
 Wouldn't it be better if ddoc generate the correct HTML from 
 the beginning.
I touched upon this in another post... I say both yes and no. Yes because it'd be nice. A table of contents seems generally useful, and correct anchors and reference macros are braindead. (I'll see about implementing the name macros myself eventually.) But, no because I think it's going to complicate ddoc and still not cover everything. Suppose we add macros for the table of contents. What if we then want to add category sorting? That was an extra about 5 lines in my program, but I think it'd be fairly complex inside ddoc itself. Basically I view ddoc as being a parser that just happenes to be able to do human readable output.. but the real goal, in my mind, is to process it into something a computer can read back in easily to produce the final product. So, ddoc should make available all the information is has, but not necessarily do any formatting of it.
Dec 12 2011
prev sibling parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Sunday, 11 December 2011 at 02:07:34 UTC, Walter Bright wrote:
 On 12/10/2011 6:01 PM, Walter Bright wrote:
 On 12/10/2011 4:16 PM, Vladimir Panteleev wrote:
 On Saturday, 10 December 2011 at 23:45:50 UTC, Manu wrote:
 and I will never type this. There should be a .chm in the 
 distribution
http://d.puremagic.com/issues/show_bug.cgi?id=5470
Awesome, I had overlooked that. Can you do a pull request to put chmgen.d into a subdirectory of https://github.com/D-Programming-Language/d-programming-language.org, along with the instructions you provided?
Essentially, I'd like to have the .chm files automatically built by the makefile for the html documentation.
I began work on this and ported chmgen to D2. However, chmgen was written to operate on the files as they appear in the DMD zip files, not the ones on d-programming-language.org. How is the zip file documentation generated?
Dec 11 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/11/2011 9:04 PM, Vladimir Panteleev wrote:
 I began work on this and ported chmgen to D2. However, chmgen was written to
 operate on the files as they appear in the DMD zip files, not the ones on
 d-programming-language.org. How is the zip file documentation generated?
Do you mean it works on the html files rather than the dd files?
Dec 11 2011
parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Monday, 12 December 2011 at 05:08:28 UTC, Walter Bright wrote:
 On 12/11/2011 9:04 PM, Vladimir Panteleev wrote:
 I began work on this and ported chmgen to D2. However, chmgen 
 was written to
 operate on the files as they appear in the DMD zip files, not 
 the ones on
 d-programming-language.org. How is the zip file documentation 
 generated?
Do you mean it works on the html files rather than the dd files?
Yes, that's correct. It parses the HTML files with a few regular expressions to adjust the layout a bit and fix links. After all, CHM == "Compiled HTML Help".
Dec 11 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/11/2011 9:11 PM, Vladimir Panteleev wrote:
 On Monday, 12 December 2011 at 05:08:28 UTC, Walter Bright wrote:
 On 12/11/2011 9:04 PM, Vladimir Panteleev wrote:
 I began work on this and ported chmgen to D2. However, chmgen was written to
 operate on the files as they appear in the DMD zip files, not the ones on
 d-programming-language.org. How is the zip file documentation generated?
Do you mean it works on the html files rather than the dd files?
Yes, that's correct. It parses the HTML files with a few regular expressions to adjust the layout a bit and fix links. After all, CHM == "Compiled HTML Help".
Then add it to the makefile as depending on the html files, rather than the dd files. (The makefile generates the html files.)
Dec 11 2011
parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Monday, 12 December 2011 at 05:33:29 UTC, Walter Bright wrote:
 On 12/11/2011 9:11 PM, Vladimir Panteleev wrote:
 On Monday, 12 December 2011 at 05:08:28 UTC, Walter Bright 
 wrote:
 On 12/11/2011 9:04 PM, Vladimir Panteleev wrote:
 I began work on this and ported chmgen to D2. However, 
 chmgen was written to
 operate on the files as they appear in the DMD zip files, 
 not the ones on
 d-programming-language.org. How is the zip file 
 documentation generated?
Do you mean it works on the html files rather than the dd files?
Yes, that's correct. It parses the HTML files with a few regular expressions to adjust the layout a bit and fix links. After all, CHM == "Compiled HTML Help".
Then add it to the makefile as depending on the html files, rather than the dd files. (The makefile generates the html files.)
Yes, that was what I was going to do. However, the layout of files generated for d-programming-language.org differs substantially from those included in the zip file, so I'm asking if there's a way to avoid having to modify chmgen to work with the d-p-l.org version.
Dec 11 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/11/2011 9:46 PM, Vladimir Panteleev wrote:
 Yes, that was what I was going to do. However, the layout of files generated
for
 d-programming-language.org differs substantially from those included in the zip
 file, so I'm asking if there's a way to avoid having to modify chmgen to work
 with the d-p-l.org version.
You could add a parameter to chmgen to tell it where the files are.
Dec 11 2011
parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Monday, 12 December 2011 at 06:57:52 UTC, Walter Bright wrote:
 On 12/11/2011 9:46 PM, Vladimir Panteleev wrote:
 Yes, that was what I was going to do. However, the layout of 
 files generated for
 d-programming-language.org differs substantially from those 
 included in the zip
 file, so I'm asking if there's a way to avoid having to modify 
 chmgen to work
 with the d-p-l.org version.
You could add a parameter to chmgen to tell it where the files are.
Certainly, but that goes against the idea of a chm makefile target. Anyway, it's probably worth doing the work of using the d-p-l.org files. I could use the opportunity to move some of the hacks out of chmgen into the docs as proper fixes.
Dec 12 2011
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 12/12/2011 8:57 AM, Vladimir Panteleev wrote:
 Anyway, it's probably worth doing the work of using the d-p-l.org files. I
could
 use the opportunity to move some of the hacks out of chmgen into the docs as
 proper fixes.
I do appreciate the effort you're putting into this. I think chmgen will be a valuable addition.
Dec 12 2011
parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Monday, 12 December 2011 at 22:28:30 UTC, Walter Bright wrote:
 On 12/12/2011 8:57 AM, Vladimir Panteleev wrote:
 Anyway, it's probably worth doing the work of using the 
 d-p-l.org files. I could
 use the opportunity to move some of the hacks out of chmgen 
 into the docs as
 proper fixes.
I do appreciate the effort you're putting into this. I think chmgen will be a valuable addition.
Thanks. Here it is: https://github.com/D-Programming-Language/d-programming-language.org/pull/46
Dec 13 2011
parent reply Mirko Pilger <mirko.pilger gmail.com> writes:
 https://github.com/D-Programming-Language/d-programming-language.org/pull/46
looking forward to try this out. thanks for your work.
Dec 13 2011
parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Tuesday, 13 December 2011 at 15:23:59 UTC, Mirko Pilger wrote:
 https://github.com/D-Programming-Language/d-programming-language.org/pull/46
looking forward to try this out. thanks for your work.
Here is the compiled file from current docs: http://dump.thecybershadow.net/115d4504aa073d18ad7de9bf862095e6/d.chm
Dec 13 2011