DIP16: Transparently substitute module with package
Steven Schveighoffer
schveiguy at yahoo.com
Fri Apr 6 04:56:41 PDT 2012
On Thu, 05 Apr 2012 19:14:42 -0400, Jonathan M Davis <jmdavisProg at gmx.com>
wrote:
> On Thursday, April 05, 2012 17:33:50 Steven Schveighoffer wrote:
>>
>> Why do we ever need to split modules for documentation? Just fix the doc
>> generator so it's not as monolithic. For instance, have one page per
>> class or struct.
>
> That may or may not be desirable (certainly in the case of smaller
> types, I'd
> argue that it isn't). By doing it on a module basis, you have far more
> control. But regardless, that would be a major change to ddoc.
ddoc's output leaves a lot to be desired. The unorganized links at the
top suck. Using module order to show symbols instead of category of
symbols.
How is a doc page ever "too big"? Even std.datetime loads in a second.
It's more that it's "too disorganized".
>> > And if all you care
>> > about is sub-modules for implementation and want all of the functions
>> in
>> > the
>> > same module still, then this DIP is pointless. All you have to do is
>> > declare
>> > undocumented sub-modules which hold the various implementations and
>> have
>> > the
>> > actual module call them. We already do this sort of thing in Phobos to
>> > get
>> > around static destructors screaming about circular dependencies.
>>
>> You are starting to see my point :) But I think the issue is not so much
>> that you are splitting the implementation, but splitting up the API into
>> related modules.
>
> As I understand it, the entire point of this DIP is to enable splitting
> up the
> API cleanly without breaking code. The implementation can already be
> split up
> seemlessly.
As can the API via public imports.
-Steve
More information about the Digitalmars-d
mailing list