相关疑难解决方法(0)

我可以通过功能依赖来实现类型相等吗?

我试图得到一些感觉MultiParamTypeClassesFunctionalDependencies了,下面让我觉得一个明显的事情尝试:

{-# 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
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用; GHC并未b ~ b'从该背景中得出结论.有没有办法使这项工作,或功能依赖不是"内部"可用?

haskell typeclass

19
推荐指数
1
解决办法
468
查看次数

标签 统计

haskell ×1

typeclass ×1