我试图得到一些感觉MultiParamTypeClasses
和FunctionalDependencies
了,下面让我觉得一个明显的事情尝试:
{-# LANGUAGE MultiParamTypeClasses , FunctionalDependencies , TypeOperators #-} import Data.Type.Equality class C a b | a -> b fob :: (C a b, C a b') => proxy a -> b :~: b' fob _ = Refl
不幸的是,这不起作用; GHC并未b ~ b'
从该背景中得出结论.有没有办法使这项工作,或功能依赖不是"内部"可用?