gpt4 book ai didi

haskell - 是否存在与类型类相关的运行时惩罚?

转载 作者:行者123 更新时间:2023-12-03 12:54:48 24 4
gpt4 key购买 nike

标题几乎总结了我的问题:是否存在与 Haskell 的类型类相关的运行时惩罚,或者它只是其中之一(如幻像类型)而没有任何运行时后果?

最佳答案

需要一个类型类就像将一个额外的参数传递给包含类型类成员作为数据结构的函数,因为在幕后,这就是它在 GHC 中脱糖的内容。

也就是说,GHC 非常擅长内联和专门化使用类型类的代码,以至于它没有问题,使用 -O2 很大一部分它们会消失,但即使没有那种优化级别,传递参数也很便宜.

所以开销不仅仅是幻像类型或新类型,但它不是很高。

顺便说一句,其他编译器的开销可能会有所不同。例如JHC 使用有限形式的依赖类型有效地对类型构造函数执行案例分析,因此在 JHC 中工作时,您需要为受约束的类型变量的数量而不是约束的数量付费。

关于haskell - 是否存在与类型类相关的运行时惩罚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10148897/

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