我正在编写一个以 2 个替换作为参数的 Haskell 函数。我已经处理了如果任何一个参数是Nothing
,那么函数将返回的情况Nothing
。如果两者都不是Nothing
,则应将它们组合成一个替换。我做了以下事情:
args :: Maybe (Subst a) -> Maybe (Subst a) -> Maybe (Subst a)
args (Just v) (Just v') = Just (v ++ v')
args _ _ = Nothing
但是,我收到预期类型与实际类型不匹配的错误。我很困惑为什么。有任何想法吗?