Skip to content

Latest commit

 

History

History
161 lines (147 loc) · 8.33 KB

Tools.md

File metadata and controls

161 lines (147 loc) · 8.33 KB

Tools in the ecosystem

Linters / Refactoring

  • hlint: suggests changes to simplify code and make it easier to read - (github, hackage, website)
  • HaRe: Haskell Refactoring Tool - (github, website)
  • 💀 dead-code-detection: Detects dead code in haskell projects - (github, hackage)
  • weeder: Detect dead exports or package imports - (github, hackage)
  • 💀 argon: Monitor cyclomatic complexity in Haskell programs - (github, hackage)
  • 💀 style-scanner: Lexical style suggestions for source code - (darcs, hackage, website)
  • stylish-haskell: Haskell code prettifier - (github, hackage)
  • hindent: Extensible Haskell pretty printer - (github, hackage)
  • apply-refact: Refactoring tool. Can apply the suggestions from hlint. (github, hackage, blog post)
  • 💀 pointfree: Tool for refactoring expressions into pointfree form - (hackage haskell wiki github)
  • pointful: Tool for refactoring expressions into pointfull form - (github, hackage)
  • hfmt: Code reformatter, using hlint, hindent, and stylish-haskell - (hackage, github)
  • hsimport: extend imports list, only if the given symbol is not already imported (github, hackage)
  • refact-global-hse: - Global haskell source code refactorings (e.g. move declarations between modules) - (github
  • 💀 module-management : Clean up module imports, split and merge modules (hackage, github)

Documentation generation / lookup

console / REPL

  • ghci: ...
  • ghci-ng: ...
  • ghc-vis - Visualize live data structures in GHCi - (github, hackage)
  • intero - Complete interactive development program for Haskell in Emacs built around an ghci fork - (github, hackage, site)
  • dante - Lightweight alternative to intero based around similar approach (github)

Ide backends

  • ghc-mod: Haskell ide-backend - (github, hackage, website)
  • hsdev: ide backend: autocompletion, symbol info, go-to declaration, find references etc. - (hackage, github)
  • hint: a huge subset of the GHC API wrapped in a simpler API - (github, hackage)
  • 💀 ide-backend: drives the GHC API to build, query, and run your code - (github, hackage)
  • 💀 buildwrapper: A library and an executable that provide an easy API for a Haskell IDE (github, hackage)
  • 💀 scion: Haskell IDE library - (hackage)

Ctags generation

  • haskdogs: generate tags file for a project and its dependencies (github, hackage)
  • codex: A ctags file generator for cabal/stack project dependencies - (github, hackage)
  • hasktags: Produces ctags tags and etags TAGS files for Haskell programs - (github, hackage)
  • fast-tags: Produces ctags and etags for Haskell with quick addenda for changes when using vim - (github, hackage)
  • 💀 lushtags: ... - (github)
  • 💀 gasbag: ... - (github)
  • 💀 hothasktags: ... - (github)

Code Generation

Others...

  • liquid haskell: Refinement Types: static verifier for Haskell, based on Liquid Types - (github, website)
  • sbv: Express properties about Haskell programs and automatically prove them using SMT solvers - (github, hackage, website)
  • ghc-proofs: GHC plugin to prove program equations by simplification - (github, hackage)
  • mote: (Agda Style programmer's assistant for Vim) - (github)
  • flycheck-haskell: Improved Haskell support for Emacs Flycheck - (github)
  • 💀 illuminate : source-code syntax highlighting library and a command-line highlighting tool - (github, hackage)
  • 💀 hscope: partial cscope line oriented mode reimplementation for Haskell code - (github, hackage)