[Haskell-cafe] What features should an (fictitious) IDE for Haskell have?

Tikhon Jelvis tikhon at jelv.is
Mon Nov 30 21:25:06 UTC 2020


Biggest feature I want is automated refactoring.

Changing a type definition and getting a bunch of errors to fix is one of
the defining features of Haskell as a development experience—but the
changes themselves are still pretty manual, and in larger codebases, this
quickly gets painful. I would love a system where I make a change, get a
bunch of errors and as much of the refactoring as possible is done for me
automatically. This would include traditional refactorings like renaming
functions and constructors, but it would also include more Haskell-specific
refactorings, potentially with some amount of interactiveness. One example
I ran into recently: I added a field to a constructor that was used pretty
widely in my code, especially in lots of tests, and I had to manually
update each pattern using that constructor to disregard the new field and
add a default value (an empty string, in this case) everywhere the
constructor was used to build a value. This was really tedious to do, and
seems systematic enough that it could have been fully automated. In other
scenarios, I would want my editor to cycle me through each location that
needs to update and give me an automated suggestion I can accept or reject
so that I could do a first pass quickly and only spend time on cases that
require more manual intervention.

I have not used any Haskell refactoring tools yet, so I am not sure what
exists today. Google around now, it looks like Facebook's retrie[1] project
might be expressive enough to do the heavy lifting for a tool like this, so
perhaps we just need a friendly frontend for it.

[1]: https://github.com/facebookincubator/retrie

On Mon, Nov 30, 2020 at 12:49 PM Alan & Kim Zimmerman <alan.zimm at gmail.com>
wrote:

> I would want to see moldable development[1] style search and visualisation.
>
> Or something like [2]
>
> Alan
>
> [1] https://gtoolkit.com/
> [2]
> https://2020.splashcon.org/details/splash-2020-oopsla/98/Adding-Interactive-Visual-Syntax-to-Textual-Code
>
>
> On Mon, 30 Nov 2020 at 20:35, Gueven Bay via Haskell-Cafe <
> haskell-cafe at haskell.org> wrote:
>
>> Greetings,
>>
>> Imagine that you can decide what functionality and features an
>> Integrated Development Environment for Haskell should get. You can
>> make this IDE with your wishlist similar in power as other IDEs for
>> Java for example.
>>
>> Now list as many features as you can, what would make the life of a
>> Haskell developer as comfortable as possible!?
>>
>> I am dying to know how this list of features at the end (of this
>> thread) will look like.
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20201130/80ca8b93/attachment.html>


More information about the Haskell-Cafe mailing list