什么是这种形式的模式匹配称为:Option{..} <- ...
,例如在这里使用:
data Option = Option { cabal :: Maybe String , noStylish :: Bool }
...
main = do
Option{..} <- cmdArgs defOption
cabp <- case cabal of
Nothing -> do
...
它似乎重新定义了cabal
and nostylish
。在模式匹配cabal
有 type之前,Option -> Maybe String
但在它有 type 之后Maybe String
。
这个例子来自最近上传的包cabal2ghci
。