RPython 支持生成器吗?

发布于 2024-11-14 20:26:24 字数 250 浏览 2 评论 0原文

RPython 是否支持生成器,因为我刚刚在 PyPy 的文档中读到一些内容,说它们不是

PyPy Doc - 编码指南

它们似乎很容易翻译成静态类型语言(如 C),因为每个生成步骤都是在函数调用中生成的。

有人可以解释为什么吗?或者进一步阐明这个主题。我目前正在尝试学习编写 RPython 安全代码的基础知识。

Are generators supported in RPython, because I just read something in PyPy's documentation that says they are not

PyPy Doc - Coding Guide

They seem easy to be translated to a statically typed language like C because every generation step is generated in function call.

Can someone explain why ? Or shed some more light on the subject. I am currently trying to learn the basics of writing RPython safe code.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

要走就滚别墨迹 2024-11-21 20:26:24

不支持生成器只是因为当时不需要它们。问题并不在于 C 语言中具有大致相同的功能,而是需要保持生成器的框架处于活动状态。由于 RPython 框架被转换为 C 框架,为了支持完整的 python 生成器,您需要一些支持来获取 C 框架并将其复制到其他地方,或类似的东西。

这只是很难/不需要并且没有实施。

Generators are not supported simply because they were not needed at the time. The problem is not really having a roughly equivalent functionality in C, but needing to keep a frame of generator alive. Since RPython frames are translated to C frames, to support full python generators you would need some support for getting C frame and copy it somewhere else, or some equivalent.

This was simply hard/not needed and was not implemented.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文