当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《我可以通过功能依赖来实现类型相等吗?》经验,为你挑选了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

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

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有