加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

haskell – 所有类型的参数取决于功能依赖关系

发布时间:2020-12-14 00:48:43 所属栏目:百科 来源:网络整理
导读:假设我有一个具有n个类型参数的类型类,并且我希望其中任意一个唯一地确定所有其他参数.这是否足以使依赖关系形成一个循环 class Foo a b c | a - b,b - c,c - a (线性),其中从每个参数到另一个参数的路径,或者我需要扩展所有可能的路径,如in class Bar a b c
假设我有一个具有n个类型参数的类型类,并且我希望其中任意一个唯一地确定所有其他参数.这是否足以使依赖关系形成一个循环
class Foo a b c | a -> b,b -> c,c -> a

(线性),其中从每个参数到另一个参数的路径,或者我需要扩展所有可能的路径,如in

class Bar a b c | a -> b,a -> c,b -> a,c -> a,c -> b

(二次)?两者之间有差异吗?怎么样

class Baz a b c | a -> b c,b -> a c,c -> a b
以上所有操作均等效于:

首先,一个 – > b c在字面上与 – > b,a – > C.

接下来,假设我们得到Foo a b c => (a,b,c).说,我们意识到一个?A.我们找到一个 – > b通过实例查找b?B.再次找到b – > (C,C,C).

如果相反,我们有Bar a b c => (a,c)与?A,我们会发现 – > b和b?B,但是在找到b→ c,我们会找到一个 – > C.

唯一的区别是用于推算哪些类型的底部箭头. a – > b,b – > c和a – b,a – > c不能产生不同的结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读