gpt4 book ai didi

haskell - 是否有任何语言扩展或 Haskell 的语言后代,有利于表现力,特别是在实例处理方面?

转载 作者:行者123 更新时间:2023-12-04 08:53:05 24 4
gpt4 key购买 nike

有时,我遇到了 Haskell 仅匹配实例头的“功能”,即,

instance (a ~ NewDataTyp b) => C a

现在将匹配任何类型,即编写 C 的另一个实例声明即使由于上下文 a ~ NewDataTyp b 不可能发生冲突,在您的程序中将是一个错误.有时,需要付出很大的努力才能克服;我不得不重组数百行代码以避免这种限制。

是否有任何语言扩展或后代语言(Curry?Agda?)被设计为表达性更高的优先级?这可能会牺牲(a)类型类世界的开放性(b)多项式时间类型检查。

编辑 -- 对于那些对这个问题感兴趣的人,这个页面可能也会感兴趣: http://www.haskell.org/haskellwiki/Future_of_Haskell

最佳答案

对于它的值(value),Scala 接受你刚刚写的或多或少的字面翻译。我不确定它有多大用处。

trait C[T]
case class NewDataType[T]()

implicit def letItBeInjectiveWhyNot[K[_],T]: K[T] =:= K[T]

implicit def cIsh[A,S](implicit ev: A =:= NewDataType[S]): C[A]
implicit def another: C[Int]

implicitly[C[NewDataType[String]]]
implicitly[C[Int]]

关于haskell - 是否有任何语言扩展或 Haskell 的语言后代,有利于表现力,特别是在实例处理方面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9013450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com