gpt4 book ai didi

scala - OCaml、Scala 和 Go 的结构类型实现

转载 作者:IT老高 更新时间:2023-10-28 13:09:20 26 4
gpt4 key购买 nike

在研究结构类型时,我发现以下帖子描述了 how interfaces in Go are translated to method lookup tables at runtime .帖子中描述的过程似乎与 reflective and generative techniques 大不相同。针对 Scala 的可选结构类型系统和 Java 语言的 White Oak 扩展进行了描述。

是否有任何深入的资源讨论如何在 OCaml 中实现结构化类型?我对与标称类型系统进行优化或运行时性能比较的任何讨论特别感兴趣。

最佳答案

您可以在 this blog post 中找到关于 OCaml 对象内部的相当详细的描述。通过 jack 多纳姆。它的要点是对象支持主要实现为an internal library。 ,编译器本身只有一点逻辑(当然还有类型系统中的对象类型逻辑),主要是围绕高效的消息分发。

我不是这部分语言的专家,但经过粗略检查后,看起来 OCaml 依赖于排序方法类型(解析为方法表中的槽)中的方法查找,并为方法提供缓存最后调用,以及静态已知调用的优化,特别是方法实现中的自调用。最后,一些常用函数(例如实例变量 getter 和 setter)被识别和编码(在内部 OO 库中键入 impl),以提高性能,并且可能更重要的是减少代码大小。

关于scala - OCaml、Scala 和 Go 的结构类型实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283319/

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