> On Fri, 23 Dec 2011 02:21:37 -0000, Walter Bright  
> <newshou...@digitalmars.com> wrote:
> 
> > On 12/22/2011 11:25 AM, Piotr Szturmaj wrote:
> >> I wish D could support partial modules - partial as analogy to C#'s  
> >> partial
> >> classes.
> >>
> >> module std.datetime-unit1;
> >> import std.datetime-unit2;
> >> // dash allowed only in submodules with the same module name
> >> ...
> >>
> >> module std.datetime-unit2;
> >> import std.datetime-unit1;
> >> ...
> >>
> >> // then
> >>
> >> module whatever;
> >> import std.datetime; // as usual
> >
> >
> > I have no idea why anyone would want this. (Is it because the file is  
> > too big to fit on a floppy disk? <g>)

As for big module, my solutions are:
1) put related modules into a package (or directory)
2) add a module named all.d into the directory, and this module will import all 
the other modules publicly
3) now just import the *all* module when needed

For example, we have these modules
        std\datetime\all.d
        std\datetime\unit1.d
        std\datetime\unit2.d
        std\datetime\unit3.d
in a package called std.datetime (a directory named std\datetime)

To import the datetime package, we use this:
        import std.datetime.all;

So, my suggestions are:
1) can we import the *all* module defaultly (maybe it called another module 
name) ?
   Then, we can use "import std.datetime;" instead of "import 
std.datetime.all;".
2) The compiler can recognise the importing module as a package, then import 
all modules in the package automaticly (including sub-package or not ?)
   Then, we just use "import std;" to import all the modules in the standard 
package.

> 
> It's of most benefit (IMO) for the Visual Studio IDE/GUI designer code.   
> The automated code generation goes into one source file, in a partial  
> class.  The user defined code into another source file/partial class.  It  
> makes life easier for both the developer and the GUI designer code itself.

Maybe this is another thing. The "partial class" seems important for 
auto-code-generation or function-extention.

----------
Zhang <bitwo...@qq.com>

Reply via email to