为什么同时有这么多“活跃”版本的 ghc?我相信有一些技术原因,但无法弄清楚到底是什么..
ghcup 显示 ghc 的 11 个版本,其中之一被标记为推荐版本。我找不到一些解释为什么推荐该版本,你...
我只是想理解为什么不推荐使用最后一个版本,以及为什么不只有一个版本与该语言和库的多个版本兼容。我假设这是一个很难解决的问题,但无法弄清楚为什么。
请注意:我现在使用 haskell 一段时间了,但无论如何都不是专家。
不用太担心。这并不是说其他版本不推荐,主要是 GHCUP 试图让初学者更容易地选择一个不太可能出现问题的版本。
为什么不推荐最新的? – 两个原因:
当然,您仍然希望 GHCUP 中也有较新的版本可用,既可以访问最闪亮的新功能,也可以让库开发人员能够确保他们的软件包面向未来。
为什么不推荐一个更旧的呢? – 这应该是很明显的:
Monad
并没有 Functor
作为超类,这可能会导致尴尬的道德重复约束等等。显然,初学者不应该面对这个问题。再次强调,这并不意味着旧版本不应该可用。它们保存在 GHCUP 中,这样就可以编译那些不适用于较新编译器的遗留代码(并希望开发它来改变这一点!),并且还允许库开发人员检查他们的包是否仍然与新的编译器兼容。旧编译器。