9

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

PyPy Doc - 编码指南

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

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

4

1 回答 1

21

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

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

于 2011-06-08T12:32:33.787 回答