RPython是否支持生成器,因为我只是在PyPy的文档中读到了一些内容,说明它们不是
它们似乎很容易被翻译成像C这样的静态类型语言,因为每个生成步骤都是在函数调用中生成的。
有人可以解释原因吗?或者对这个问题有更多的了解。我目前正在尝试学习编写RPython安全代码的基础知识。
答案 0 :(得分:21)
不支持生成器只是因为当时不需要它们。问题实际上并不是在C中具有大致相同的功能,而是需要保持生成器的框架保持活动状态。由于RPython帧被转换为C帧,为了支持完整的python生成器,你需要一些支持来获取C帧并将其复制到其他地方或一些等价物。
这很难/不需要,但没有实施。