smuggler

smuggler-logo Hackage Build MPL-2.0 license

β€œSo many people consider their work a daily punishment. Whereas I love my work as a translator. Translation is a journey over a sea from one shore to the other. Sometimes I think of myself as a smuggler: I cross the frontier of language with my booty of words, ideas, images, and metaphors.”

― Amara Lakhous, Clash of Civilizations Over an Elevator in Piazza Vittorio

Haskell Source Plugin which removes unused imports automatically.

How to useπŸ”—

Add smuggler to the dependencies of your project. Then add the following compiler options:

-fplugin=Smuggler.Plugin

Lovely addition to this package is that it automatically supports on-the-fly feature if you use it with ghcid. Smuggler doesn’t perform file changes when there are no unused imports. So you can just run ghcid as usual:

ghcid --command='cabal repl'

For contributorsπŸ”—

Requirements:

  • ghc-8.6.5
  • cabal >= 3.0 or stack >= 2.0

Cabal: How to build?πŸ”—

cabal update
cabal build

Stack: How to build?πŸ”—

stack build

Run testsπŸ”—

cabal test --enable-tests