【发布时间】:2018-12-22 22:53:47
【问题描述】:
我试图了解如何评估 XMonad 配置函数。第一个例子来自 Xmonad docs:
import qualified Data.Map as M
--
main = xmonad $ defaultConfig {
--
, keys = \c -> mykeys c `M.union` keys defaultConfig c
--
}
where
mykeys (XConfig {modMask = modm}) = M.fromList $
[ ((modm , xK_x), spawn "xlock") ]
键的类型是一个函数:
keys :: !(XConfig Layout -> Map (ButtonMask, KeySym) (X ()))
这里的问题是评估顺序。 keys 应用于某些XConfig 时返回Map,然后我们得到的Map 应该应用于c(如果我没记错的话),但是如何将Map 应用于某些东西呢?
【问题讨论】:
-
简单:
keys的类型不正确。