"Bill Baxter" <wbax...@gmail.com> wrote in message news:mailman.225.1256170012.20261.digitalmar...@puremagic.com... > 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.
OK, then they don't fulfill my requirements of "header files". Not to worry though, I just won't use that style of programming with D if I use it. > > So if you want to ship headers as a form of documentation for your > library, you may want to find another way. Yes: do it the traditional way as in C/C++. > 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. >