hlint
brew install hlint
v3.10
BSD-3-Clause
Haskell source code suggestions
71
30-day installs · #3996
196
90-day · #4231
1.3k
365-day · #3368
1.6k
★ GitHub stars · updated 5mo ago
Runtime dependencies
Build dependencies
Links
- https://github.com/ndmitchell/hlint
- GitHub: ndmitchell/hlint
- Brew formula source: Formula/h/hlint.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"cabal-install",
"ghc@9.12"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"gmp"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Haskell source code suggestions",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:38:39+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "hlint",
"github_default_branch": "master",
"github_last_commit_at": "2026-03-22T16:08:55Z",
"github_readme_excerpt": "# HLint [](https://hackage.haskell.org/package/hlint) [](https://www.stackage.org/package/hlint) [](https://github.com/ndmitchell/hlint/actions)\n\nHLint is a tool for suggesting possible improvements to Haskell code. These suggestions include ideas such as using alternative functions, simplifying code and spotting redundancies. This document is structured as follows:\n\n* [Installing and running HLint](./README.md#installing-and-running-hlint)\n* [FAQ](./README.md#faq)\n* [Customizing the hints](./README.md#customizing-the-hints)\n* [Hacking HLint](./README.md#hacking-hlint)\n\n### Bugs and limitations\n\nBugs can be reported [on the bug tracker](https://github.com/ndmitchell/hlint/issues). There are some issues that I do not intend to fix:\n\n* HLint operates on each module at a time in isolation, as a result HLint does not know about types or which names are in scope. This decision is deliberate, allowing HLint to parallelise and be used incrementally on code that may not type-check. If fixities are required to parse the code properly, they [can be supplied](./README.md#why-doesnt-hlint-know-the-fixity-for-my-custom--operator).\n* The presence of `seq` may cause some hints (i.e. eta-reduction) to change the semantics of a program.\n* Some transformed programs may require [additional type signatures](https://stackoverflow.com/questions/16402942/how-can-eta-reduction-of-a-well-typed-function-result-in-a-type-error/), particularly if the transformations trigger the monomorphism restriction or involve rank-2 types. In rare cases, there might be [nowhere to write](https://stackoverflow.com/questions/19758828/eta-reduce-is-not-always-held-in-haskell) the required type signature.\n* Sometimes HLint will change the code",
"github_repo": "ndmitchell/hlint",
"github_stars": 1595,
"github_topics": [],
"homepage": "https://github.com/ndmitchell/hlint",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 71,
"installs_365d": 1346,
"installs_90d": 196,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "BSD-3-Clause",
"llm_generated_at": null,
"llm_model": null,
"name": "hlint",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 3996,
"rank_365d": 3368,
"rank_90d": 4231,
"raw_hash": "92ae8cb7e75d5492",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/h/hlint.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [
"libffi",
"ncurses"
],
"version_head": "HEAD",
"version_stable": "3.10",
"versioned_formulae": [],
"why_use_this": null
}