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不能产生不同的结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |