
with a proper parser and proper editor transpositions a la the structured editors of the 80s and Isabel et al)

Proper syntactic awareness of Haskell (e.g.tab cycle, simple back-forward indentation, whole area indentation, structured editing, etc.) understanding error types, the REPL, REPL objects, object inspection) Knowledge of Haskell in the GHCi/GHC side (e.g.GHCi/Hugs interaction, expression evaluation and such) understanding of Cabal, configuration/building/installing, package sandboxing) jump-to-definition, who-calls, calls-who, search by type, completion, etc.) type at point, info at point, type of expression)

inserting imports/aligning/sorting imports, aligning up text, transposing/switching/moving things around) for Haskell, Cabal, Literate Haskell, Core, etc.) For a discussion of IDEs there is the haskell-ide mailing list and the haskell-ide repository In future this should be expanded into separate headings with more description of how they would desirably work.

Please add more to this list if you think of anything. The IDEs listed below generally support some subset of these features. This is a list of features that any Haskell IDE could or should have.

An IDE allows developers to work in a single environment and improve their programming workflow. An IDE, or Integrated Development Environment, bundles all the tools you need to write, debug, and test your code.
