如何在 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
来执行此操作,同时保留自定义类型的构造和模式匹配的常用语法。
关于
不幸的是,我还没有找到任何像来自 leftaroundabout 的
是否有类似优雅的方式来表示从 Haskell 到 Python 的无限数据结构?
我建议两条路线之一。
- 将不透明指针传递给 Python。在 Haskell 中定义一个 API 用于观察和构造适当类型的事物,并通过 FFI 公开该 API。 (我也在链接问题中提出了这个建议...)
- 首先显式构造图,并将图结构传递给Python。例如,您可以使用
data-reify
来执行此操作,同时保留自定义类型的构造和模式匹配的常用语法。