Haskell大括号解析错误

时间:2017-05-20 21:09:52

标签: haskell archlinux xmonad

运行Manjaro并尝试让XMonad工作我遇到了tmp = train[(train['col1'] > 0) | (train['col2'] > 0) | (train['col3'] > 0) | (train['col4'] > 0) | (train['col5'] > 0)] 以下parse error on input '{'

xmonad.hs

我找到了这个solution on su.sx并从readthedocs.io获取了我的x​​monad.hs。 为了开始,我想使用该配置文件,但我不知道如何将解决方案应用于此。如果有人精通可以解释为什么会出现这个错误以及如何解决它,我真的很感激,因为我刚刚开始使用Haskell而且它真的让我的思绪在一个未知的范围内......:D

1 个答案:

答案 0 :(得分:2)

xmonad $ defaultConfig行后面的所有内容缩进到右侧(粘贴the example时,某些缩进似乎丢失了):

main = do
    xmproc <- spawnPipe "xmobar"

    xmonad $ defaultConfig
        { manageHook = manageDocks <+> manageHook defaultConfig
        , layoutHook = avoidStruts  $  layoutHook defaultConfig
        , logHook = dynamicLogWithPP xmobarPP
                        { ppOutput = hPutStrLn xmproc
                        , ppTitle = xmobarColor "green" "" . shorten 50
                        }
        , modMask = mod4Mask     -- Rebind Mod to the Windows key
        } `additionalKeys`
        [ ((mod4Mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock; xset dpms force off")
        , ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
        , ((0, xK_Print), spawn "scrot")
        ]

do-block中“父”缩进级别的行被解析为单独的语句,这在这里是不合适的。