Time to destroy Walter: breaking modules into packages
Jonathan M Davis
jmdavisProg at gmx.com
Fri Jun 7 14:18:09 PDT 2013
On Friday, June 07, 2013 10:55:36 nazriel wrote:
> If it was carefully discussed and I somehow missed those
> discussion or I am not allowed to see them, then I am sorry and
> please ignore this and my previous post in this topic.
Actually, Daniel Murphy, Martin Nowak, and I discussed it with Walter and
Andrei at dconf the night of Adam's talk, so it wasn't on the newsgroup.
There's nothing secret about it though. It's just that it was discussed in
person, so there is no record. I believe that some further discussion has
occured in the newsgroup in the two pull requests for it as well as the DIP
announcement, but we went into a fair bit of detail in the discussion at dconf
of what exactly the pros and cons would be as well as the side effects.
What's really nice about DIP 37 is that it takes advantage of a number of
existing features rather than requiring much new. It's essentially just taking
what currently works with a module like all.d (publicly importing the
everything in the package in the one module) and making it work in a manner
that we can avoid code breakage. And naming the file package.d is a particular
stroke of genius (provided by someone in the original discussion on Martion
Nowak's DIP on the issue IIRC), because then the file can't even conflict with
any existing code. So, while the implementation does have some definite nuances
to it (like making sure that using the explict path to something like
std.datetime.DosFileTime still works), it's ultimately fairly simple and
straightforward. And given the need to break up modules in place, we decided
that it was worth implementing.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list