gpt4 book ai didi

haskell - 如何查询当前的 GHCi 环境?

转载 作者:行者123 更新时间:2023-12-05 00:44:54 25 4
gpt4 key购买 nike

我想生成这个图的修订版,它出现在 Haskell98 标准中:

enter image description here

在 2019 年,我将通过生成我想要的图的描述并将其提供给 Graphviz 来做到这一点。我昨天做的一个概念验证实现,只告诉我有一个叫做 Monad 的东西。 ,可以自动生成这个图:

enter image description here

概念验证程序相当糟糕,因为它遍历图形的方式是发送 :info命令到 GHCi 并尝试解析输出。我对进一步插入这种方法不感兴趣。

正确的做法是弄清楚 GHC 在内部如何表示类和实例信息,然后使用其 API 直接查询这些数据结构。

我花了相当多的时间在 the GHC API documents 中环顾四周。但我还没有找到我需要的入口点。

我想我想向 GHC 索取当前范围内所有类型类和实例信息的名称列表,以及对每个类型的约束的描述。

What are good ways to proceed with this? Where should I be looking?



谢谢。

最佳答案

为此,我首先查看模板 Haskell。各种reify functions让您从编译器环境中提取信息。我没有这方面的概念证明,但看起来它应该是可行的。

关于haskell - 如何查询当前的 GHCi 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59218075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com