[Haskell-cafe] EclipseFP (Haskell IDE) 0.9.1 released

Ketil Malde ketil.malde at bccs.uib.no
Thu Feb 2 03:15:27 EST 2006

Bulat Ziganshin <bulatz at HotPOP.com> writes:

> it's a list of what-i-want-from-the-IDE:

I already use an environment that integrates Xemacs, GHC, GHCi, and
Make, and it's called /bin/zsh.  I've used it (or something very
similar) for over ten years, so anything else would take some getting
used to.  I could be convinced to switch, though.

> * auto-adding import statements
> * adding/removing function from the export list

Automatic import/export management would be nice.  Similar with type
signatures; I often modify some code, and forget to update the
signature and/or export/imports.  A good IDE could at least highlight
any issues.  And while the compiler will catch these, it often has
problems pinpointing the problem (it could be an error in the
function, it's type signature, or the type signature of some called
function, etc) - and IDE will know which function you're editing, and
flag the error the moment it is introduced.

Also, the IDE could display the inferred types, of course.

> * autogeneration of prototypes

It would be nice to have undefined function defined to be undefined
:-)  I.e. you can run the code, and have it halt when a missing
function is required.  Ideally, you should supply the code at that
point, and move on (one less bragging point for the Lisp crowd), but I
can live with a restart. 

> * context help
> * type-based function hierarchy browsing

Some integrated (library) search facility would be good, using types
and Haddock.

I would like to write (e.g.) quickcheck tests, without having them
clutter up the code proper.

I'd also like to have call-graph analysis, from simple "show me callers
of this function", to suggestions about moving functions across

* "show me the Core for this function"

Optimization support would be really nice, displaying the strictness
and boxedness of function parameters, for instance.  Or profiling
integration that highlights functions/call points that consume much
time and/or space. 

And, one final thing, I need Emacs-type key bindings.  This is the
only thing that is entirely non-negotiable. :-)

If I haven't seen further, it is by standing in the footprints of giants

More information about the Haskell-Cafe mailing list