
The second example isn't syntactically correct. What are you getting at here?
is that really as completely unobvious to you as your question implies? -- A module Main where import Data.Time main = print =<< getCurrentTime -- B module Main where import Data main = print =<< Time.getCurrentTime given that package P only exposes a module Data (which, in turn, exports a module Time), it appears that A behaves as if it was B. is that intended? or is something else going on? which is what Ian was asking about, wasn't it?
FWIW, there was a proposal to add a package qualifier to import declarations, but it wasn't unanimously viewed as the right thing at the time (check the libraries@haskell.org archives). Same goes for the various "grafting"/"mounting" proposals - we just haven't seen a proposal that has the right power to weight ratio. Meanwhile, the current package system seems to be scaling quite nicely, thank you.
no offense intended;-)
We do intend, I think, to allow packages to re-export modules, it just needs to be implemented. (I see it as a missing feature, rather than a bug or a "design flaw", though).
as long as we agree on the features we want, we don't need to agree on whether their lack is a flaw or a miss. claus