On Wed, Oct 21, 2009 at 4:56 PM, AJ <a...@nospam.net> wrote: > > "Jason House" <jason.james.ho...@gmail.com> wrote in message > news:hbo2ih$2oi...@digitalmars.com... >> AJ Wrote: >> >>> >>> "Steven Schveighoffer" <schvei...@yahoo.com> wrote in message >>> news:op.u157hfkveav...@localhost.localdomain... >>> > On Wed, 21 Oct 2009 17:59:52 -0400, AJ <a...@nospam.net> wrote: >>> > >>> >> Since D has no header files, how does one create "a library" that >>> >> another >>> >> developer can use without exposing the implementation? >>> > >>> > try dmd -H. >>> > >>> > .di files are D header files, basically used for the reason you >>> > specify. >>> >>> OK, so header files can be generated. The thing is though, when I am >>> designing at the code level, I start with the declarations (such as class >>> data members and methods) and do the implementation (or one can hand it >>> off >>> to someone else) afterwards. That serves as the "blue print" for further >>> development and remains as first level of documentation as well. Working >>> with just "implementation files" seems to be putting the cart before the >>> horse. While eliminating something unnecessary is something to strive >>> for, I >>> don't think header files are unnecessary in the development process >>> (i.e., I >>> don't think that relegating them to just the situation given with my OP >>> is >>> good, exactly for the reasons of usefullness I gave). >>> >>> >> >> I think you keep a very structured development style that few share. >> Nothing stops you from writing a header-file-like .d file and then hand it >> off for someone to fill in the methods, etc... > > Would I have to use a dmd-generated one to distribute to users of my library > though? Are generated .di files something different or more than what I'd > write in a C/C++ .h?
The generated ones lack indentation and comments. They're not really intended for human consumption, according to Walter. So if you want to ship headers as a form of documentation for your library, you may want to find another way. This -json output feature recently added to DMD sounded like it might be a step in the right direction. That should make it easier for 3rd parties to write a more flexible documentation generation tool. --bb