标签: hlint

当我尝试安装hlint时,我得到了关于old-time-1.1.0.3的错误

我首先尝试安装Hlint.cabal install hlint但后来我得到了错误:

cabal: Error: some packages failed to install:
cpphs-1.20.2 depends on old-time-1.1.0.3 which failed to install.
haskell-src-exts-1.18.2 depends on old-time-1.1.0.3 which failed to install.
hlint-1.9.37 depends on old-time-1.1.0.3 which failed to install.
old-time-1.1.0.3 failed during the configure step. The exception was:
ExitFailure 77
Run Code Online (Sandbox Code Playgroud)

然后我尝试安装ghc-mod,因为我读到hlint是该包的依赖项(?).认为它可以解决问题.所以我做了cabal install ghc-mod哪个给了我错误.

cabal: Error: some packages failed to install:
cpphs-1.20.2 depends on old-time-1.1.0.3 which failed to install.
ghc-mod-5.6.0.0 depends on old-time-1.1.0.3 which failed to install.
haskell-src-exts-1.17.1 depends on old-time-1.1.0.3 which …
Run Code Online (Sandbox Code Playgroud)

haskell package cabal-install hlint

7
推荐指数
1
解决办法
1627
查看次数

如何运行HLint?

我才刚开始用 Haskell 编程几周。有人告诉我使用 HLint 来改进我的代码。问题是我不知道如何针对我的 .hs 文件运行 HLint。我阅读了文档,并且能够使用cabal install hlint. 下一步是使用 HLint 运行 HLint hlint myfile.hs。我不知道在哪里输入这一行。cmd 和 ghci 都不会让我运行命令。我在这里缺少什么?

我正在使用窗户。

编辑:

我刚刚删除了 Haskell 并在我的系统上重新安装了它。我认为问题出在我的 Haskell 安装上。这就是我尝试再次安装 HLint 时得到的结果: 在此处输入图片说明

该文件确实存在C:\Users\PCPCPCCP\AppData\Roaming\cabal\setup-exe-cache

编辑2:

好像 hlint 没有正确安装。即使在重新安装了 haskell 平台之后,我也无法在我的系统上安装 hlint。但是,我确实在我的虚拟机上工作过...

haskell hlint

5
推荐指数
1
解决办法
9317
查看次数

在Haskell函数类型声明中使用[Char]而不是String是一个坏主意

我刚刚开始学习Haskell,"学习Haskell for Great Good".我目前正在阅读"类型和类型类"一章,所以我的知识非常......不存在.我使用Sublime Text 2和SublimeHaskell包,它在每次保存时构建/检查文件.

问题:我正在尝试像这样进行函数类型声明:

funcName :: [Char] -> [Char]
Run Code Online (Sandbox Code Playgroud)

我收到这个警告:

警告:使用找到的字符串:[Char] - > [Char]为什么不:String - > String

建立失败

你能解释一下为什么使用Char数组而不是字符串是一个坏主意,或者给我一个链接来解释可能的反响等等.我用Google搜索,什么也没发现.

PS我是一名C#开发人员,我理解char数组和c语言中的字符串之间的区别.

haskell hlint sublimetext2

4
推荐指数
2
解决办法
417
查看次数

HLint可以自动进行建议编辑吗?

HLint给出了如何改进源代码的建议.但是,鉴于建议的性质,我想知道是否可以自动应用这些建议.

是否可以自动应用提出的建议hlint

refactoring haskell automated-refactoring hlint

3
推荐指数
1
解决办法
251
查看次数

Haskell 中无法识别的 HLINT 编译指示

我正在尝试禁用 HLint 给我的一些警告。根据文档,我应该能够在我的文件顶部添加一个编译指示。所以我尝试了以下方法:

{-# HLINT ignore #-}
module Main where
Run Code Online (Sandbox Code Playgroud)

然而,这在运行时给了我一个错误stack build

/Users/nene/somedir/src/Main.hs:1:1: warning: [-Wunrecognised-pragmas]
    Unrecognised pragma
  |
1 | {-# HLINT ignore #-}
  | ^^^
Run Code Online (Sandbox Code Playgroud)

似乎 pragma 实际上在我的编辑器(带有“Haskell”扩展名的 VSCode)中有效,但在运行stack.

haskell hlint visual-studio-code haskell-stack

3
推荐指数
1
解决办法
90
查看次数

Hlint与(Win)GHCi集成

通过命令提示符使用Hlint对我有用,但是我在尝试执行GHCi集成时遇到问题.

http://community.haskell.org/~ndm/darcs/hlint/hlint.htm说"脚本位于hlint.ghci [link],并在数据目录中本地安装了一个副本.要使用,请添加内容到你的GHCi启动文件."

C:\ Users\X\AppData\Roaming\cabal\hlint-1.8.23包含此hlint.ghci文件.

现在我想找到GHCi启动文件.我使用的是Windows 7,根据http://www.haskell.org/ghc/docs/latest/html/users_guide/ghci-dot-files.html,ghci.conf文件应该在... /的文件夹中APPDATA/GHC.但是我的ghc文件夹(C:\ Users\X\AppData\Roaming\ghc)只包含一个ghci_history文件.

所以我将hlint.ghci文件复制到我的ghc文件夹并将其重命名为ghci.conf.从现在开始WinGHCi它崩溃,如果我启动GHCi它说:

interactive>:10:91:字符'\n'的字符串/字符文字中的词法错误

interactive>:4:105:字符'\n'的字符串/字符文字中的词法错误

我究竟做错了什么?该问题与缺少的GHCi启动文件有关吗?

haskell ghci winghci hlint

2
推荐指数
1
解决办法
1096
查看次数

Haskell任务的Makefile示例

而不是发明我自己的,对于典型的Haskell任务,例如编译,打包,hlint,quickcheck等,有什么好的makefile规则?

在搜索中我发现像这样的例子:

ghc -M *.hs
Run Code Online (Sandbox Code Playgroud)

haskell makefile quickcheck cabal hlint

1
推荐指数
1
解决办法
2649
查看次数