Haskell,Hackage,GHC和生产力.该怎么办?

jos*_*uan 7 haskell ghc hackage

一年来,我一直是新秀哈斯克勒(我认为,"新秀哈斯克勒").我编写了很少的haskell程序(例如,一个非常简单的蛇游戏)但是当我必须使用某些库时,包依赖和ghc失败的版本对我来说很难.

我认为选择正确的ghc版本是一门艺术.

太新了,库也失败了(例如,yesod最近更新到7.4; grapefruit-ui-gtk目前失败了).

太旧了,库已经过时但尚未得到支持.

HackageDB及其开发者非常棒,但我觉得笨拙并且不知道开发严肃程序的正确方法.

我应该做什么?我是不是很缺乏经验?艰难的方式是唯一的方法吗?

(对不起,如果问题太笼统)

Don*_*art 8

坚持Haskell平台.

它存在以标准化每6个月期间GHC的稳定释放,因此您不必猜测使用哪种GHC.


mhw*_*bat 5

我不认为你所描述的问题与缺乏经验有关.这只是发生的事情.一些建议:

作为一般规则,直到你知道,所有的软件包你依靠支持新版本不会升级哈斯克尔平台(或GHC).如果你想要的最新和最好的可以运行平台并排的多个版本,还需要使用旧版本的一些事情.

联系维护人员,询问他们何时升级包.十分之九,他们需要做的就是修改cabal文件,重新编译并重新上传.要查找其电子邮件地址,请搜索包装名称的hackage,并在横幅中查找"Maintainer"一词.

作为一种肮脏的解决方法:您可以尝试自己修改cabal文件(将".1"添加到程序包版本号的末尾以避免版本冲突,并更新所需的版本号),然后查看如果它编译.我已经成功完成了几次,然后使用GitHub或者他们正在使用的任何内容向维护者发送了更新.