如何在 Python 中优雅地表示无限 Haskell 递归数据结构?

How to elegantly represent infinite Haskell recursive datastructure in Python?

关于 ,我在想如何使用 [=22= 从 Haskell 到 Python 表示无限数据结构(其中没有任何非构造函数) ] FFI.

不幸的是,我还没有找到任何像来自 leftaroundabout 的 一样优雅的东西。

是否有类似优雅的方式来表示从 Haskell 到 Python 的无限数据结构?

我建议两条路线之一。

  • 将不透明指针传递给 Python。在 Haskell 中定义一个 API 用于观察和构造适当类型的事物,并通过 FFI 公开该 API。 (我也在链接问题中提出了这个建议...)
  • 首先显式构造图,并将图结构传递给Python。例如,您可以使用 data-reify 来执行此操作,同时保留自定义类型的构造和模式匹配的常用语法。