- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
HLint 是一个用于 Haskell 代码的命令行静态分析工具,它甚至可以建议代码的适当重构版本。有人知道用于检查 F# 代码的类似命令行工具吗?
最佳答案
简短回答:
不,还没有这样的工具。
长答案:
让我们讨论如何构建它。
我做了一些可能有用的背景研究。
引用
函数式语言中有一些 lint 工具,可以作为灵感来源。然而,他们往往会走向不同的方向。
HLint是一个先进的工具,它的重构能力是惊人的。重构建议在 F# 中更加棘手,因为 (1) F# 代码可能有副作用,因此等式推理不健全 (2) 在进行无点转换时,值限制可能会消除一些好的建议。如果我们接受误报,它可能会变得更容易一些。
在 Scala 的世界里,你有 Wart Remover和 Scala Style .前者侧重于 Scala 中常见的函数式编程错误。后者侧重于人为错误和不一致(例如命名、约定等)。我猜 Wart Remover 与 F# 更相关,因为它是一种功能优先的编程语言。但是,样式检查器工具在包含多个开发人员的大型代码库中很有用。
与 F# 最相关的 lint 工具可能是 OCaml 的样式检查器,Mascot .它有一个庞大且可扩展的规则集。这些规则中的许多规则都适用于 F#,只需稍作调整。
资源(以及缺乏)
我们有什么:
关于f# - 用于 F# 代码的类似 HLint 的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19720845/
我只有几周的时间来使用 Haskell 进行编程。有人告诉我使用 HLint 来改进我的代码。问题是我不知道如何对我的 .hs 文件运行 HLint。我读了the documentation我可以使用
HLint给出了如何改进源代码的建议。但是,考虑到建议的性质,我想知道是否可以自动应用这些建议。 是否可以自动应用 hlint 提出的建议? 最佳答案 您必须使用 --refactor 并在您的 $P
我用 HLint在我的 Haskell 代码上,但并非所有的警告/错误都非常有用。特别是箭头提示,因为我从不使用箭头。 如何让 HLint 忽略所有箭头提示? 最佳答案 例如,如果您有以下代码: ma
我正在使用 MultiWayIf语言扩展。虽然我喜欢 HLint(我使用的是 v1.8.61 版本),但不幸的是,HLint 似乎不知道这个扩展,并且它报告多路 ifs 作为解析错误:Warning:
我在一个小项目上运行 HLint,它建议我使用 &&&。 例子 : >>> cat st.hs f = (+) 10 g = (+) 1 main = print $ (\x -> (f x, g x
我正在尝试禁用 HLint 给我的一些警告。 According to docs我应该能够在我的文件顶部添加一个 pragma。所以我尝试了以下方法: {-# HLINT ignore #-} mod
我正在考虑我理想的 haskell 编辑工作流程: 我打开三个终端(使用 iterm2 拆分)。 终端 1 运行 vim 来编辑 haskell 源文件。 当当前目录或子目录中的文件更新或创建时,终端
在 my package我有 several annotations帮助定制我对 hlint 的使用: {-# ANN module ("HLint: ignore Use infix"::Strin
当我编写 Haskell 代码时,我在 emacs 中使用 flycheck 和 haskell-hlint 我认为如果我可以通过调用一些 emacs 程序而不是手动修改代码来应用这些 hlint 建
HLint 是一个用于 Haskell 代码的命令行静态分析工具,它甚至可以建议代码的适当重构版本。有人知道用于检查 F# 代码的类似命令行工具吗? 最佳答案 简短回答: 不,还没有这样的工具。 长答
leksah 支持任何类型的插件吗?会吗?它是否有任何内置插件,例如 hlint、hoogle、pl、djinn?如果没有,是否有一种简单的方法来整合这些东西? 最佳答案 Does leksah su
通过命令提示符使用 Hlint 对我有用,但我在尝试执行 GHCi 集成时遇到问题。 http://community.haskell.org/~ndm/darcs/hlint/hlint.htm说“
我正在尝试通过 Haskell 中的堆栈安装 hlint stack install hlint ,但它告诉我该计划失败了,我应该在 stack.yaml 中添加一些额外的 deps . 在我这样做之
我在看教程http://haskell.org/haskellwiki/How_to_write_a_Haskell_program import System.Environment main ::
我正在寻找与 vim 一起使用的代码 lint、类型查询、自动类型插入和杂项帮助程序(如自动完成)。 经过一些研究,我发现了多个类似的工具可以完成我想要的事情 提示 hdev工具 ghc-mod 主要
我有一个单元测试文件: module X04PatMatTest where import AssertError import Test.HUnit import X04PatMat ... 和 h
我首先尝试安装 Hlint。 cabal install hlint但后来我得到了错误: cabal: Error: some packages failed to install: cpphs-1.
我是一名优秀的程序员,十分优秀!