
I see. That solved that problem, but now I get an error saying: Couldn't match expected type `W.Workspace i l a' against inferred type `W.Screen WorkspaceId (Layout Window) Window ScreenId ScreenDetail' In the first argument of `(:)', namely `W.current ws' In the second argument of `($)', namely `W.current ws : W.visible ws' In the second argument of `notElem', namely `(map W.tag $ W.current ws : W.visible ws)' and also in the line where I use viewHidden: Couldn't match expected type `X ()' against inferred type `W.StackSet WorkspaceId l a s sd -> W.StackSet WorkspaceId l a s sd' Expected type: (WorkspaceId -> X (), t) Inferred type: (WorkspaceId -> W.StackSet WorkspaceId l a s sd -> W.StackSet WorkspaceId l a s sd, KeyMask) In the expression: (W.shift, shiftMask) In the expression: [(viewHidden, 0), (W.shift, shiftMask)] I think the second error is probably because of the first, which seems to be a type mismatch. Is there a quick fix for this? Thanks for your help, Bryan On 08/02/2012 11:32 AM, Brandon Allbery wrote:
On Thu, Aug 2, 2012 at 2:20 PM, Bryan Huh
mailto:bhh1988@gmail.com> wrote: I'm sorry if this is a stupid question, but the xmonad.hs doesn't compile saying that "when" is out of scope. It seems to not recognize the keyword "when." I tried "if" as well but then it tells me there's a parse error. Are you sure that what you have compiles for you?
"when" isn't a keyword; it's a function defined in Control.Monad. (Haskell's laziness means that many things that would have to be baked-in syntax in other languages can be written as functions, and its syntax means those functions behave as if they *were* baked into the language.) So all you should need to do is add
import Control.Monad (when)
up with the other import statements.
-- brandon s allbery allbery.b@gmail.com mailto:allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms