weeder: Detect dead code

[ bsd3, development, library, program, unclassified ] [ 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, 1.0.9, 2.0.0, 2.0.1, 2.1.0
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 2018-08-30T22:45:28Z
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 2017-04-29T10:05:53Z
Distributions LTSHaskell:1.0.8, NixOS:2.0.1, Stackage:1.0.8
Executables weeder
Downloads 11311 total (85 in the last 30 days)
Rating 2.5 (votes: 5) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2017-04-29 [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.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.