weeder: Detect dead code

[ bsd3, development, library, program ] [ Propose Tags ]

Find redundant package dependencies or redundant module exports.

[Skip to Readme]
Versions [faq] 0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.11, 0.1.12, 0.1.13, 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8
Change log CHANGES.txt
Dependencies aeson, base (>=4.6 && <4.11), bytestring, cmdargs, extra, filepath, hashable, process (>=, text, unordered-containers, vector, yaml [details]
License BSD-3-Clause
Copyright Neil Mitchell 2017
Author Neil Mitchell <ndmitchell@gmail.com>
Maintainer Neil Mitchell <ndmitchell@gmail.com>
Revised Revision 2 made by HerbertValerioRiedel at Thu Aug 30 22:45:34 UTC 2018
Category Development
Home page https://github.com/ndmitchell/weeder#readme
Bug tracker https://github.com/ndmitchell/weeder/issues
Source repo head: git clone https://github.com/ndmitchell/weeder.git
Uploaded by NeilMitchell at Fri Apr 28 20:23:20 UTC 2017
Distributions LTSHaskell:1.0.8, NixOS:1.0.8, Stackage:1.0.8
Executables weeder
Downloads 5415 total (435 in the last 30 days)
Rating 2.5 (votes: 5) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2017-04-28 [all 3 reports]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for weeder-0.1

[back to package description]

Weeder Hackage version Stackage version Linux Build Status Windows Build Status

The principle is to delete dead code (pulling up the weeds). To do that, run:

  • GHC with -fwarn-unused-binds -fwarn-unused-imports, which finds unused definitions and unused imports.
  • HLint, looking for "Redundant extension" hints, which finds unused extensions.
  • This tool, weeder . which detects redundant build-depends in the .cabal and functions that are exported internally but not available outside this library.

To use weeder your code must be building with stack, as it piggy-backs off some files stack generates. If you don't normally build with stack a simple stack init && weeder . --build is likely to be sufficient.