为什么没有此代码的工作:使用函数依赖:有两种类型的确定第三类
class Foo a b c | a b -> c where
foo :: a -> b -> c
instance Foo Int Int Int where
foo a b = a + b
ghci > foo 4 4 -- This produces run time error
而且通过函数依赖,为什么下面的代码会产生编译时错误:
instance Foo Float Float Int where
foo a b = a + b
我知道上面的例子是一个疯狂的例子,但是不是函数依赖的目的在于帮助类型检查器解决这些问题吗?
你忘了,包括你在你的问题正在接受错误的文本。 –