Haskell解释器,不知道如何运行和测试它

Haskell interpreter, dont know how to run and test it

提问人:Davus 提问时间:9/20/2023 更新时间:9/20/2023 访问量:90

问:

我正在将口译器作为项目任务,为了了解我必须做什么,我决定从 Internet 下载口译器并运行它。我在 WinGhci 中启动了指定的文件夹,但我不知道如何测试它以及该怎么办,你能帮忙吗?

这是文件夹位置的链接。https://github.com/kseo/poly

它在《Write you a Haskell》一书第 7 章中对代码的实现

.我不知道如何测试它以及该怎么办,你能帮忙吗?

Haskell 测试 函数式编程 Monads 解释器

评论

0赞 K. A. Buhr 9/21/2023
我知道您想用主机语言 Haskell 实现解释器。但是,你的目标语言是什么(即口译员正在口译的语言),或者——如果它是你自己发明的语言——它是什么类型的语言?是类似 Haskell、C、Python 还是其他什么?
0赞 K. A. Buhr 9/22/2023
我问的原因是,如果你要解释的语言不是类似 Haskell 或 ML 的语言,那么这个示例解释器就不是一个好例子。重点是演示 Hindley-Milner 类型推理,而不是提供编写解释器的简单示例。你可能会通过查看它的代码来了解一些关于一般解释器的知识,但通过编写一个方案,你会学到更多。(“通关”将比仅仅编译某人的最终代码的 Git 存储库更有用。polypoly

答:

4赞 Noughtmare 9/20/2023 #1

WinGhci 未维护。现在 https://www.haskell.org/ghcup/ 推荐的安装 Haskell 的方法。请参阅 https://www.haskell.org/ghcup/steps/ 了解如何开始使用 Haskell 工具。是的,您必须熟悉命令行才能有效地使用Haskell。

至于如何运行 poly,在自述文件中它说要运行以下命令:

cabal run

不幸的是,这是一个非常古老的存储库。您至少需要返回 GHC 7.10.3,您仍然可以尝试安装它,但我不知道现在使用起来有多容易(例如,至少在 linux 上 7.10 存在问题)。

评论

0赞 leftaroundabout 9/20/2023
或者,使用较新的 GHC 并尝试 ,这可能有效,也可能无效。如果它确实有效,那么最好不要拖着过时的编译器。cabal run --allow-newer=base
0赞 Noughtmare 9/20/2023
@leftaroundabout在这种情况下它不起作用