[xmonad] Importing Stackset qualified
gwern0 at gmail.com
Tue Jun 8 16:43:01 EDT 2010
On Mon, May 17, 2010 at 5:49 PM, Adam Vogt <vogt.adam at gmail.com> wrote:
> * On Monday, May 17 2010, Gwern Branwen wrote:
>>I noticed yesterday in my config, 'import qualified XMonad.StackSet as
>>W', and I wondered - why do we do that? Is there some rationale behind
>>it or is it just tradition?
>>I ask because if the former, then there are quite a few modules in XMC
>>which don't import it as W, or as anything at all; a quick grep:
>>If the former, then several of these need to be fixed or changed, I think.
> It's qualified because some names are reused: XMonad.StackSet.focus,
> Consistent qualifications make it a bit easier to understand code, but
> you can usually tell between those: if you imported both modules as
> different random names, the types are sufficiently different that you
> can guess which is which (Window -> X ()) is used quite differently than
> (Stack a -> a).
> I'm not against widespread changes to import style in the name of
> consistency, but do take care to address unapplied patches beforehand,
> to avoid having to resolve conflicts.
XMonad.Operations is very rarely imported, it seems:
[04:32 PM] 0Mb$ gr XMonad.Operations|g import
Actions/MessageFeedback.hs:import XMonad.Operations ( updateLayout )
Actions/WindowGo.hs:import XMonad.Operations (windows)
Util/Paste.hs:import XMonad.Operations (withFocused)
Now, specifying the used operations seems to be safe, so I made the
following changes to the module which doesn't enumerate its imports.
hunk ./XMonad/Actions/GroupNavigation.hs 32
hunk ./XMonad/Actions/GroupNavigation.hs 35
hunk ./XMonad/Actions/GroupNavigation.hs 41
+import XMonad.Operations (windows, withFocused)
I don't know how those unnecessary imports got past -Wall, but I'm
removing them while I'm at it.
Unfortunately Adam, this change would conflict with your 'Use cabal's
cpp macros to restore containers-0.2 compatiblity' patch. So perhaps
we should move on that patch?
(Once Operations imports are dealt with, I can look into fixing up the
StackSet imports. I'd like a uniform approach which we could put into
the hacking guidelines.)
More information about the xmonad