我有一段非常简单的代码如下:
{-# LANGUAGE
MultiParamTypeClasses,
FunctionalDependencies,
FlexibleInstances,
FlexibleContexts
#-}
class Graph g n e | g -> n e where
nodes :: g -> [n]
edge :: g -> (n,n) -> Maybe e
instance Graph g Int e where
nodes g = []
edge g (n1,n2) = Nothing
我收到与功能依赖项之一的覆盖条件失败相关的错误。我是否需要添加 -XUndecidableInstances 才能允许这样做?或者我该如何解决这个问题?谢谢