是RPython支持的生成器?

时间:2011-06-08 10:09:35

标签: python generator pypy rpython

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

PyPy Doc - Coding Guide

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

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

1 个答案:

答案 0 :(得分:21)

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

这很难/不需要,但没有实施。