Thread overview
[Issue 10022] New: Importing packages
May 03, 2013
yebblies
May 03, 2013
yebblies
May 03, 2013
Andrej Mitrovic
May 03, 2013
yebblies
May 05, 2013
Jonathan M Davis
May 05, 2013
Andrej Mitrovic
May 05, 2013
yebblies
May 06, 2013
Jonathan M Davis
Jun 05, 2013
Walter Bright
Jul 14, 2013
yebblies
May 03, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022

           Summary: Importing packages
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: yebblies@gmail.com
        ReportedBy: yebblies@gmail.com


--- Comment #0 from yebblies <yebblies@gmail.com> 2013-05-04 07:17:08 EST ---
When an import resolves to a package, instead import a module inside the package called 'package'.  Usual rules are then followed as if it was imported explicitly.

When both a module and a package exist, the compiler gives an ambiguity error.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 03, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022


yebblies <yebblies@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull


--- Comment #1 from yebblies <yebblies@gmail.com> 2013-05-04 08:13:19 EST ---
https://github.com/D-Programming-Language/dmd/pull/1961

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 03, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com


--- Comment #2 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-05-03 15:24:52 PDT ---
Same as Issue 3603?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 03, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022



--- Comment #3 from yebblies <yebblies@gmail.com> 2013-05-04 08:35:53 EST ---
(In reply to comment #2)
> Same as Issue 3603?

No.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022


Jonathan M Davis <jmdavisProg@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jmdavisProg@gmx.com


--- Comment #4 from Jonathan M Davis <jmdavisProg@gmx.com> 2013-05-04 17:55:29 PDT ---
> Same as Issue 3603?

No, it's a variant of DIP 15. It'll make it so that you could do something like replace std/datetime.d with

std/datetime/common.d
std/datetime/interval.d
std/datetime/package.d
std/datetime/timepoint.d
std/datetime/timezone.d

and std/datetime/pakckage.d could then look something like

--------------
/++ Package documentation here +/
module std.datetime.package;

public import std.datetime.common;
public import std.datetime.interval;
public import std.datetime.timepoint;
public import std.datetime.timezone;
--------------

So, std.datetime could then be broken up and no code would break. It would also likely replace the all.d idiom that some people have been using to make it so that you can import an entire package at once, since it's basically all.d with compiler support. Even better, it also then gives us a way to document packages.

We discussed it with Andrei and Walter at dconf after Adam Wilson was complaining about the lack of this sort of ability in his talk, and we eventually got Andrei and Walter to agree to it.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022



--- Comment #5 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-05-05 03:08:41 PDT ---
(In reply to comment #4)
> --------------
> /++ Package documentation here +/
> module std.datetime.package;
> 
> public import std.datetime.common;
> public import std.datetime.interval;
> public import std.datetime.timepoint;
> public import std.datetime.timezone;
> --------------

I see. This is a good idea, but public import modules do have their bugs, e.g. the recently fixed Issue 9919. I've ran into a few others over the years.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022



--- Comment #6 from yebblies <yebblies@gmail.com> 2013-05-06 02:13:24 EST ---
(In reply to comment #5)
> 
> I see. This is a good idea, but public import modules do have their bugs, e.g. the recently fixed Issue 9919. I've ran into a few others over the years.

Bugs are just bugs, we will just have to fix them as they appear.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 06, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022



--- Comment #7 from Jonathan M Davis <jmdavisProg@gmx.com> 2013-05-05 22:17:11 PDT ---
http://wiki.dlang.org/DIP37

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 05, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com


--- Comment #8 from Walter Bright <bugzilla@digitalmars.com> 2013-06-05 15:12:24 PDT ---
https://github.com/D-Programming-Language/dmd/pull/2139

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 14, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10022


yebblies <yebblies@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


--- Comment #9 from yebblies <yebblies@gmail.com> 2013-07-14 16:01:31 EST ---
This has been implemented.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------